python掃瞄埠指令碼 python掃瞄埠指令碼

2021-10-11 13:08:24 字數 1737 閱讀 4363

#!/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...