#!/usr/bin/python
#coding=utf-8
一、socket模組的類方法:
socket.socket(family,type)——建立並返回乙個新的socket物件
socket.getfqdn(name)——將使用點好分割的ip位址字串轉換成乙個完整的網域名稱
socket.gethostbyname(name)——將主機名解析為乙個使用點號分隔的ip位址字串
socket.fromfd(fd,family,type)——從現有檔案描述符建立乙個socket物件
二、socket模組的例項方法:
sock.bind((adrs,port))——將socket繫結到乙個位址和埠上
sock.accept()——返回乙個客戶機socket(帶有客戶機端的位址資訊)
sock.listen(backlog)——將socket設定成監聽模式,可以監聽backlog外來的鏈結請求
sock.connect((adrs,port))——將socket連線到定義的主機和埠上
sock.recv(buflen[,flags])——從socket中接受資料,最多buflen個字元
sock.send(data[,flags])——通過socket傳送資料
sock.close()——關閉socket
sock.getsockopt(lvl,optname)——獲得指定socket選項的值
sock.setsockopt(lvl,optname)——設定制定socket選項的值
import socket, time, thread
socket.setdefaulttimeout(3)
def socket_port(ip,port):
輸入ip和埠號,掃瞄判斷埠是否開放
try:
if port>=65535:
print u『埠掃瞄結束『
s=socket.socket(socket.af_inet, socket.sock_stream)
result=s.connect_ex((ip,port))
if result==0:
lock.acquire()
print ip,u『:『,port,u『埠開放『
lock.release()
s.close()
except:
print u『埠掃瞄異常『
def ip_scan(ip):
輸入ip,掃瞄ip的0-65534埠情況
try:
print u『開始掃瞄 %s『 % ip
start_time=time.time()
#for i in range(0,65534):
for i in range(0,3308):
thread.start_new_thread(socket_port,(ip,int(i)))
print u『掃瞄埠完成,總共用時 :%.2f『 %(time.time()-start_time)
raw_input("press enter to exit")
except:
print u『掃瞄ip出錯『
if __name__==『__main__『:
url=raw_input(『input the ip you want to scan:\n『)
lock=thread.allocate_lock()
ip_scan(url)
原文:
python掃瞄埠指令碼 python掃瞄埠指令碼
usr bin python coding utf 8 一 socket模組的類方法 socket.socket family,type 建立並返回乙個新的socket物件 socket.getfqdn name 將使用點好分割的ip位址字串轉換成乙個完整的網域名稱 socket.gethostby...
python指令碼 埠掃瞄
記錄在b站學習的知識 利用tcp原理,通過編寫python指令碼,來檢測某個主機的埠開放情況,下面介紹兩種掃瞄,syn掃瞄和fin掃瞄 實驗環境 準備工作 展示from scapy.layers.inet import ip,tcp from scapy.sendrecv import sr syn...
Python指令碼 埠掃瞄器
乙個用python寫的簡單的埠掃瞄器,python環境為 3.7.0,windows系統 掃瞄給定主機是否開放了指定的埠tcp連線掃瞄是利用tcp的三次握手來確定主機的埠是否開放。確定主機埠開放之後,給埠傳送訊息,接收埠返回的訊息,然後判斷該埠執行的服務。使用時,h 引數可以提供主機的網域名稱或者i...