Leser: 34
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Port : 1 zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy Status : Inaktiv
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy
Port : 2 zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy Status : Aktiv
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy
Port : 3 zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy Status : Inaktiv
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy
....
2011-03-22T10:22:28 QWERTZ7Das ist ein kleines Kommandozeilen-Tool um einen Enterasys Switch zu managen bzw um Informationen auszulesen.
{status => active}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
my $file = '/pfad/zur/datei.txt'; my @inactive_ports; { local $/ = "\n\n"; open my $fh, '<', $file or die $!; while ( my $port_data = <$fh> ) { if ( $port_data =~ /Status\s*:\s*Inaktiv/ ) { my ($port) = $port_data =~ /Port\s*:\s*(\d+)/; push @inactive_ports, $port; } } close $fh; } print "Inactive Ports: @inactive_ports\n";
1
2
3
4
5
6
7
8
9
10
Port : fe.2.17 zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy Policy name : no policy applied
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy
....
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
my $file = '/pfad/zur/datei.txt'; my @inactive_ports; { local $/ = "\n\n"; open my $fh, '<', $file or die $!; while ( my $port_data = <$fh> ) { if ( $port_data =~ /Policy name\s*:\s*no policy applied/ ) { my ($port) = $port_data =~ /Port\s*:\s*([\w.]+)/; push @inactive_ports, $port; } } close $fh; } print "Inactive Ports: @inactive_ports\n";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
my $file = 'dfedc.out';
my $ziel = "inactive_ports.txt";
my @inactive_ports;
{
local $/ = "\n\n";
open my $fh, '<', $file or die $!;
while ( my $port_data = <$fh> ) {
if ( $port_data =~ /Policy name\s*:\s*no policy applied/ ) {
my ($port) = $port_data =~ /Port\s*:\s*([\w.]+)/;
push @inactive_ports, $port;
}
}
close $fh;
}
print "Inactive Ports: @inactive_ports\n";
#Zieldatei öffnen und schreiben
open(OUT,">$ziel");
print OUT @inactive_ports;
close(OUT);
1 2 3
open(OUT,">$ziel"); print OUT "set port disable $_\nset port enable $_\n" for @inactive_ports; close(OUT);
1
2
3
4
5
Wed Mar 23 13:00:28 2011 : Auth: Login OK: [00-11-0A-FA-FB-AA/NOPASSWORD] (from client kgn751 port 31045 cli 00-11-0A-FA-FB-AA)
Wed Mar 23 13:01:02 2011 : Auth: Login OK: [00-0B-5D-0B-D6-44/NOPASSWORD] (from client WabeN7-55 port 11031 cli 00-0B-5D-0B-D6-44)
Wed Mar 23 13:01:22 2011 : Auth: Login OK: [00-00-85-7B-44-F7/NOPASSWORD] (from client e1-110-west port 36 cli 00-00-85-7B-44-F7)
Wed Mar 23 13:01:37 2011 : Auth: Login OK: [00-C4-FF-7F-34-07/NOPASSWORD] (from client e1-111-west port 76 cli 00-C4-FF-7F-34-07)
Wed Mar 23 13:05:29 2011 : Auth: Login OK: [08-37-FF-0C-E7-39/NOPASSWORD] (from client e1-140-west port 3 cli 08-37-FF-0C-E7-39)
1
2
3
4
5
6
7
8
9
10
11
12
13
00-11-0A-**-**-**
00-10-83-**-**-**
00-01-E6-**-**-**
00-00-85-**-**-**
08-00-09-**-**-**
00-60-B0-**-**-**
00-C0-EE-**-**-**
show multiauth session mac VOLLSTÄNDIGE-MAC-ADRESSE
grep "Aktiv" <Datei> | awk '{print $1}'
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
open (FH, <DATEINAME>); # Datei öffen my $file; my @ports; my $port; { local $/ = undef; # den Zeilenendepattern löschen $file = <FH>; # Datei am Stück lesen } # der Zeilenendepattern ist nun wieder hergestellt @ports = split ("Port", $file); # Die Port-Blöcke trennen foreach $port (@ports){ if ($port=~m/Aktiv/){ # Nach "aktiv" suchen $port =~m/(\d+?)/; # Nach der 1. Zahl suchen print $1 , "\n"; # ausgeben } }
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
open (FH, shift); my $file; my @ports; my $port; my $line_old; my $line_new; my $porblock; while ($line_new = <FH>){ chomp $line_new; $portblock .= $line_new; if (($line_old eq "") and ($line_new eq "")){ # zwei aufeinander folgende Zeile die leer sind if ($portblock=~m/Aktiv/){ $portblock =~m/(\d+?)/; print $1, "\n"; } $portblock=""; } $line_old = $line_new; }
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}
1
2
3
4
5
6
7
8
9
10
Port : fe.2.17 zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy Policy name : no policy applied
xxx : yyy zzz : yyy
xxx : yyy zzz : yyy
xxx : yyy
....
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}