真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python3實(shí)現(xiàn)高效的端口掃描-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)專注于企業(yè)營(yíng)銷型網(wǎng)站建設(shè)、網(wǎng)站重做改版、興海網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、電子商務(wù)商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為興海等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

具體腳本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)

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

try:
 #創(chuàng)建端口掃描對(duì)象
 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ù)指定掃描主機(jī)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('---------------------------------------------------------------------')
 #輸出主機(jī)及主機(jī)名
 print('Host : %s (%s)' % (host, nm[host].hostname()))
 #輸出主機(jī)狀態(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']))

文章名稱:python3實(shí)現(xiàn)高效的端口掃描-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://weahome.cn/article/ccdchj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部