Python利用socket模塊開發簡單的端口掃描工具的實現
1.簡介
Socket又稱'套接字',應用程序通常通過'套接字'向網絡發出請求或者應答網絡請求,使主機間或者一臺計算機上的進程間可以通訊。
socket的工作流程
socket 采用C/S 模式,分為服務端和客戶端 服務端數據處理流程 創建socket -> 綁定到地址和端口 -> 等待連接 -> 開始通信-> 關閉連接 客戶端數據處理流程 創建socket -> 等待連接 -> 開始通信-> 關閉連接 客戶端沒有綁定地址和端口,是由于客戶端進程采用的是隨機端口,當客戶端要去連接目標時,會由系統自定分配一個端口號和自身ip地址去組合2.利用方法
函數 描述 s.settimeout(timeout) 設置套接字操作的超時期,timeout是一個浮點數,單位是秒。值為None表示沒有超時期。一般,超時期應該在剛創建套接字時設置,因為它們可能用于連接的操作(如connect()) s.connect() 主動初始化TCP服務器連接,。一般address的格式為元組(hostname,port),如果連接出錯,返回socket.error錯誤。
二、代碼1.源代碼
#!/user/bin/# -*- coding:UTF-8 -*-# Author:Master_sir# Version:python2.7import socket,sysdk = []for i in range(0,65536): dk.append(i)ports = dkdef IsOpen(ip,port): try: s = socket.socket() s.settimeout(1) s.connect((ip,port)) return True except: return False passdef PortScan(ip): for p in ports: if IsOpen(ip,p): sys.stderr.write(’%s:%s is openn’ % (ip,p)) PortScan(’xxx.xxx.xxx.xxx’)#要掃描的ip
2.執行實例
到此這篇關于Python利用socket模塊開發簡單的端口掃描工具的實現的文章就介紹到這了,更多相關Python socket端口掃描工具內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: