简练的端口扫描脚本

简介:

脚本名:monitor_port.pl

作用:扫描特定端口是否正常

脚本:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/env perl
 
  ( $sec , $min , $hour , $mday , $mon , $year ) = ( localtime )[0..5];
  ( $sec , $min , $hour , $mday , $mon , $year ) = (
     sprintf ( "%02d" $sec ),
     sprintf ( "%02d" $min ),
     sprintf ( "%02d" $hour ),
     sprintf ( "%02d" $mday ),
     sprintf ( "%02d" $mon  + 1),
     $year  + 1900
);
 
$date = "$year-$mon-$mday $hour:$min:$sec" ;
 
##########################################################
open  (FH, "/opt/monitor/port.list" ) ||  die ;
while  ( defined ( $port_tn =<FH>)) {
         ( $host_ip , $mod_n , $port_t , $port_n )= split (/\t/, $port_tn );
     chomp  $host_ip ;
     chomp  $mod_n ;
     chomp  $port_t ;
     chomp  $port_n ;
     ch_result();
     }
 
####################################################
sub  ch_result {
 
     open  LOG, ">>/opt/monitor/port_status.log" ;
     select  LOG;
 
     if ( $port_t  eq  'tcp' ){
        `/usr/bin/nc -z -w2  $host_ip  $port_n `;
        $flag  = `echo $?`;
     } else {
        `/usr/bin/nc -u -z -w2  $host_ip  $port_n `;
        $flag  = `echo $?`;
     }
 
###########################
     if ( $flag  != 0){
         print  "$date $host_ip $mod_n $port_t $port_n is closed!\n" ;
     }
     close (LOG);
}

文件1、port.list 定义要扫描的端口内容,

eg:

1
2
172.16.2.2      httpd     tcp     80
172.16.2.2      tomcat     tcp     8080

文件2、port_status.log 记录端口失败信息

eg:

1
2
2014-11-25 20:30:01 172.16.2.2 httpd tcp 80 is closed!
2014-11-25 20:30:01 172.16.2.2 tomcat tcp 8080 is closed!

使用方法:

    只要将此脚本添加到crontab即可!

1
* /5  * * * *  cd  /opt/monitor ; . /monitor_port .pl >  /dev/null  2>&1



本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1582720

相关文章
|
3月前
端口扫描 -- Masscan
端口扫描 -- Masscan
69 0
|
3月前
|
Python
端口扫描 -- AutoRecon
端口扫描 -- AutoRecon
8 0
|
3月前
端口扫描 -- CThun
端口扫描 -- CThun
10 0
|
3月前
|
Python
端口扫描 -- portscann
端口扫描 -- portscann
9 0
|
3月前
|
Python
端口扫描 -- masnmapscan
端口扫描 -- masnmapscan
23 1
|
3月前
|
开发工具 git Python
端口扫描 -- Pscan
端口扫描 -- Pscan
21 1
|
3月前
|
开发工具 git Python
端口扫描 -- FastPortScanner
端口扫描 -- FastPortScanner
13 0
|
3月前
端口扫描 -- scanport和superscan
端口扫描 -- scanport和superscan
27 1
|
3月前
|
Python
端口扫描 -- K8PortScan
端口扫描 -- K8PortScan
13 0
|
3月前
|
开发工具 git Python
端口扫描 -- WebServiceScanner
端口扫描 -- WebServiceScanner
20 2