日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python3實現(xiàn)高效的端口掃描

系統(tǒng) 1847 0

我們通過python-nmap實現(xiàn)一個高效的端口掃描工具,與定時作業(yè)crontab及郵件告警結(jié)合,可以很好的幫助我們及時發(fā)現(xiàn)異常開放的高危端口。當然,該工具也可以作為業(yè)務(wù)服務(wù)端口的可用性探測,例如掃描192.168.209.121-125網(wǎng)段Web服務(wù)端口80s是否處于open狀態(tài)。我們這里所采用的scan方法arguments參數(shù)指定為-v -PE -p + 端口, -v表示啟用細節(jié)模式,可以返回非up狀態(tài)主機清單;-PE表示采用TCP同步掃描(TCP SYN)方式; -p指定掃描端口范圍。程序輸出部分采用三個for循環(huán)體,第一層遍歷掃描主機,第二層為遍歷協(xié)議,第三層為遍歷端口,最后輸出主機狀態(tài)。

具體腳本port_scanner.py代碼如下:

            
import sys
import nmap

scan_row = []
input_data = input('Please input hosts and port: ')
#scan_row以空格分隔
scan_row = input_data.split(' ')

if len(scan_row) != 2:
  print("Input errors, example \"192.168.209.0/24 80,443,22 \"")
  sys.exit(0)

#接收用戶輸入的主機
hosts = scan_row[0]
#接收用戶收入的端口
port = scan_row[1]

try:
  #創(chuàng)建端口掃描對象
  nm = nmap.PortScanner()
except nmap.PortScannerError:
  print('Nmap not found', sys.exc_info()[0])
  sys.exit(0)
except Exception as e:
  print("Unexpected error:", sys.exc_info()[0])
  print(str(e))
  sys.exit(0)

try:
  #調(diào)用掃描方法,參數(shù)指定掃描主機hosts,nmap掃描命令行參數(shù)arguments
  nm.scan(hosts=hosts, arguments=' -v -sS -p ' + port)
except Exception as e:
  print("Scan error:" + str(e))

for host in nm.all_hosts():
  print('---------------------------------------------------------------------')
  #輸出主機及主機名
  print('Host : %s (%s)' % (host, nm[host].hostname()))
  #輸出主機狀態(tài),如up、down
  print('State : %s' % nm[host].state())
  #遍歷掃描協(xié)議,tcp、udp
  for proto in nm[host].all_protocols():
    print('--------------')
    #輸出協(xié)議名
    print('Protocol : %s' % proto)

    #獲取協(xié)議的所有掃描端口
    lport = list(nm[host][proto].keys())
    #端口列表排序
    lport.sort()
    #遍歷端口輸出端口與狀態(tài)
    for port in lport:
      print('port %s\tstate : %s' % (port, nm[host][proto][port]['state']))
          

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 三穗县| 三都| 苏尼特右旗| 桦甸市| 阳泉市| 巢湖市| 安达市| 东平县| 平江县| 靖安县| 定南县| 上虞市| 沁水县| 井陉县| 龙山县| 石台县| 西林县| 涡阳县| 那坡县| 永城市| 九江县| 东阿县| 天气| 玉环县| 广河县| 定边县| 花莲县| 景东| 名山县| 大竹县| 太仓市| 德清县| 比如县| 札达县| 邢台县| 梁平县| 郓城县| 东安县| 宝丰县| 西藏| 广安市|