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()
因為主要就是進行端口掃描,不需要等待對方回復(fù)通信,所以我們需要再用異常處理
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段也是可以的,他會自動處理
強制轉(zhuǎn)換為字符串,不然無法執(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:設(shè)定掃描端口
我們來設(shè)定掃描的端口
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)端口掃描器的詳細內(nèi)容,更多關(guān)于Pyhacker端口掃描器的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python進行數(shù)據(jù)預(yù)處理的4個重要步驟
在數(shù)據(jù)科學項目中,數(shù)據(jù)預(yù)處理是最重要的事情之一,本文詳細給大家介紹python進行數(shù)據(jù)預(yù)處理的4個重要步驟:拆分訓練集和測試集,處理缺失值,處理分類特征和進行標準化處理,需要的朋友可以參考下2023-06-06python 實現(xiàn)dict轉(zhuǎn)json并保存文件
今天小編就為大家分享一篇python 實現(xiàn)dict轉(zhuǎn)json并保存文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法
今天小編就為大家分享一篇python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python opencv醫(yī)學處理的實現(xiàn)過程
這篇文章主要介紹了Python opencv醫(yī)學處理的實現(xiàn)過程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-05-05