|
1 | 1 | #!/usr/bin/perl |
2 | 2 | use strict; |
3 | 3 | use warnings; |
| 4 | +use 5.010; |
| 5 | + |
4 | 6 | use Term::ANSIColor; |
5 | | -use Switch; |
6 | 7 |
|
7 | 8 | #Attempt to prevent screen blanking |
8 | 9 | printf ("\033[9;%ld]", 0); |
|
13 | 14 | #super legit cross-platform screen clear |
14 | 15 | system(($^O eq 'MSWin32') ? 'cls' : 'clear'); |
15 | 16 |
|
16 | | -while(<>){ |
17 | | - my $line = $_; |
18 | | - #Hope you like regex. |
19 | | - if ($line =~ m/^(.*) : ([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3}).([0-9]{1,3}):([0-9]{1,10}) -> USER: (.*) PASS: (.*)/){ |
| 17 | +while(my $line = <>){ |
| 18 | + #Hope you like regexp. |
| 19 | + if ($line =~ /^(\w+) : (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}):(\d{1,10}) -> USER: (.+) PASS: (.+)/){ |
20 | 20 | my $protocol = $1; |
21 | | - my $ip = $2.".".$3.".".$4.".".$5; |
| 21 | + my $ip = "$2.$3.$4.$5"; |
22 | 22 | my $port = $6; |
23 | 23 | my $user = $7; |
24 | 24 | my $pass = $8; |
|
52 | 52 |
|
53 | 53 | sub pick_color{ |
54 | 54 | my $protocol = shift; |
55 | | - switch ($protocol) { |
56 | | - case /TELNET/ { print color("red") } |
57 | | - case /RLOGIN/ { print color("red") } |
58 | | - case /SSH/ { print color("red") } |
59 | | - case /VNC/ { print color("red") } |
| 55 | + given ($protocol) { |
| 56 | + when (/TELNET/) { print color("red") } |
| 57 | + when (/RLOGIN/) { print color("red") } |
| 58 | + when (/SSH/) { print color("red") } |
| 59 | + when (/VNC/) { print color("red") } |
60 | 60 |
|
61 | | - case /SMB/ { print color("magenta") } |
62 | | - case /LDAP/ { print color("magenta") } |
| 61 | + when (/SMB/) { print color("magenta") } |
| 62 | + when (/LDAP/) { print color("magenta") } |
63 | 63 |
|
64 | | - case /ICQ/ { print color("green") } |
65 | | - case /MSN/ { print color("green") } |
66 | | - case /YMSG/ { print color("green") } |
67 | | - case /IRC/ { print color("green") } |
| 64 | + when (/ICQ/) { print color("green") } |
| 65 | + when (/MSN/) { print color("green") } |
| 66 | + when (/YMSG/) { print color("green") } |
| 67 | + when (/IRC/) { print color("green") } |
68 | 68 |
|
69 | | - case /HTTP/ { print color("blue") } |
70 | | - case /FTP/ { print color("blue") } |
71 | | - case /MYSQL/ { print color("blue") } |
| 69 | + when (/HTTP/) { print color("blue") } |
| 70 | + when (/FTP/) { print color("blue") } |
| 71 | + when (/MYSQL/) { print color("blue") } |
72 | 72 |
|
73 | | - case /POP/ { print color("yellow") } |
74 | | - case /IMAP/ { print color("yellow") } |
75 | | - case /SMTP/ { print color("yellow") } |
76 | | - case /NNTP/ { print color("yellow") } |
| 73 | + when (/POP/) { print color("yellow") } |
| 74 | + when (/IMAP/) { print color("yellow") } |
| 75 | + when (/SMTP/) { print color("yellow") } |
| 76 | + when (/NNTP/) { print color("yellow") } |
77 | 77 |
|
78 | | - case /SOCKS5/ {print color("cyan") } |
79 | | - case /CVS/ {print color("cyan") } |
| 78 | + when (/SOCKS5/) {print color("cyan") } |
| 79 | + when (/CVS/) {print color("cyan") } |
80 | 80 | } |
81 | 81 | } |
0 commit comments