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ù)字華容道的實現(xiàn)(可選擇關(guān)卡)
這篇文章主要介紹了制作Python數(shù)字華容道的實現(xiàn)(可選擇關(guān)卡),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
python 協(xié)程中的迭代器,生成器原理及應(yīng)用實例詳解
這篇文章主要介紹了python 協(xié)程中的迭代器,生成器原理及應(yīng)用,結(jié)合具體實例形式詳細分析了Python協(xié)程中的迭代器,生成器概念、原理及應(yīng)用操作技巧,需要的朋友可以參考下2019-10-10
詳解如何用python實現(xiàn)一個簡單下載器的服務(wù)端和客戶端
這篇文章主要介紹了詳解如何用python實現(xiàn)一個簡單下載器的服務(wù)端和客戶端,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
python實現(xiàn)在內(nèi)存中讀寫str和二進制數(shù)據(jù)代碼
這篇文章主要介紹了python實現(xiàn)在內(nèi)存中讀寫str和二進制數(shù)據(jù)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
在python win系統(tǒng)下 打開TXT文件的實例
下面小編就為大家分享一篇在python win系統(tǒng)下 打開TXT文件的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04
python 操作sqlite數(shù)據(jù)庫的方法
sqlite的官網(wǎng) sqlite.org/index.html SQLite 作為一個SQL數(shù)據(jù)庫引擎,是由C語言實現(xiàn)的,又小又快,具有高可靠性且功能齊全。 作為嵌入式數(shù)據(jù)庫,在移動設(shè)備中使用非常廣泛且方便。本文講解如何使用python操作sqlite數(shù)據(jù)庫2021-06-06
python對Excel按條件進行內(nèi)容補充(推薦)
這篇文章主要介紹了python對Excel按條件進行內(nèi)容補充的相關(guān)知識,非常不錯,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11

