Pyhacker實現(xiàn)端口掃描器
主要是以Nmap舉例編寫,其中涉及的協(xié)議暫不過多討論
喜歡用Python寫腳本的小伙伴可以跟著一起寫一寫呀。
編寫環(huán)境:Python2.x
00x1:需要用到的模塊
需要用到的模塊如下:
import socket import ipaddr
00x2:創(chuàng)建socket對象
首先我們先進寫一個簡單的通信
先創(chuàng)建socket對象
sockect = socket.socket()
因為主要就是進行端口掃描,不需要等待對方回復通信,所以我們需要再用異常處理
Ok,沒毛病
00x3:處理ip
我們接下來處理ip,當輸入一個 127.0.0.1/24 讓他自動分成ip
這就要用到ipaddr
ip = raw_input('\nIP:') ips = ipaddr.IPNetwork(ip) for ip in ips: print ip
自動生成C段ok,當然你輸入B段也是可以的,他會自動處理
強制轉換為字符串,不然無法執(zhí)行
ip = str(ip)
00x4:測試用例
我們來測試一下,以百度為例:
速度有點慢,有的可能會超時,我們再限制一下超時時間
try: sockect.settimeout(0.2) sockect.connect((ip,port)) print "\n[+]%s open %s"%(ip,port) except: sockect.close()
修改后快了很多
00x5:設定掃描端口
我們來設定掃描的端口
portlist = [21,80,445,3306,27017,6379.139,135]
ok,這就完成了一個端口掃描器
當然你可以自定義端口,以及根據(jù)自己的需求來編寫
00x6:完整代碼
#!/usr/bin/python #-*- coding:utf-8 -*- import socket import ipaddr def portscan(ip,port): sockect = socket.socket() try: sockect.settimeout(0.2) sockect.connect((ip,port)) print "[+]%s open %s"%(ip,port) except: sockect.close() portlist = [21,80,443,445,3306,27017,6379] if __name__ == '__main__': ip = raw_input('\nIP:') print "" ips = ipaddr.IPNetwork(ip) for ip in ips: for port in portlist: portscan(str(ip),port)
以上就是Pyhacker實現(xiàn)端口掃描器的詳細內容,更多關于Pyhacker端口掃描器的資料請關注腳本之家其它相關文章!
相關文章
Python opencv醫(yī)學處理的實現(xiàn)過程
這篇文章主要介紹了Python opencv醫(yī)學處理的實現(xiàn)過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05