用Python實現網絡端口掃描工具

用Python實現網絡端口掃描工具

本文將介紹如何使用Python的socket模塊來實現一個簡單的端口掃描工具。該工具可以對指定主機的指定端口號範圍進行掃描,從而判斷哪些端口處於打開狀態。

在介紹實現之前,我們先來看一下將要用到的socket方法。

sock = socket.socket (socket_family, socket_type)

創建一個socket對象

sock = socket.socket (socket.AF_INET, socket.SOCK_STREAM)

創建一個socket流,其中常用的枚舉值包括:

AF_INET:IPv4

SOCK_STREAM:TCP

SOCK_DGRAM:UDP

gethostbyname("host")

將一個主機名轉換成IP地址

sock.connect_ex((remoteServerIP, port))

連接到給定地址和端口

腳本的原理非常簡單,就是遍歷指定範圍內的所有端口,並嘗試建立連接。如果連接成功,就打印一條日誌。

解析輸入參數:

用Python實現網絡端口掃描工具

獲取主機IP:

用Python實現網絡端口掃描工具

主循環:

用Python實現網絡端口掃描工具

全部代碼:

用Python實現網絡端口掃描工具

運行結果:

用Python實現網絡端口掃描工具

獲取完整代碼,請訪問: https://github.com/code-talk/port-scanner

雖然這個腳本非常簡單,但是隻要大家有足夠的想象力,就可以在此基礎上做出更強大的功能。

好了,今天就介紹到這裡,歡迎小夥伴們留言評論。


分享到:


相關文章: