Python sniffer 網路嗅探器

2022-06-28 20:27:10 字數 1124 閱讀 6245

import

socket

import

threading

import

time

activedegree=dict()

flag=1

defmain():

global

activedegree

global

glag

#獲取本機ip位址

host=socket.gethostbyname(socket.gethostbyname())

#建立原始套接字,適用於windows平台

#對於其他系統,要把socket.ipproto_ip替換為socket.ipproto_icmp

s=socket.socket(socket.af_inet,socket.sock_raw,socket.ipproto_ip)

s.bind((host,0))

#設定在捕獲資料報中含有ip包頭

s.setsockopt(socket.ipproto_ip,socket.ip_hdrincl,1)

#啟用混雜模式,捕獲所有資料報

s.ioctl(socket.sio_rcvall,socket.rcvall_on)

#開始捕獲資料報

while

flag:

c=s.recvfrom(65535)

host=c[1][0]

activedegree[host]=activedegree.get(host,0)+1

#假設本機ip位址為10.2.1.8

if c[1][0] != '

10.2.1.8':

print

(c)

#關閉混雜模式

s.ioctl(socket.tio_rcvall,socket.rcvall_off)

s.close()

t=threading.thread(target=main)

t.start()

time.sleep(60)

flag=0

t.join()

for item in

activedegree.items():

print(item)

網路之網路分層 網路傳輸流程

這部分都是些理論的知識,不太好記憶,寫篇部落格加深一下印象吧。網路分層 理論上說,是七層模型,分別是 應用層,表示層,會話層,傳輸層,網路層,資料鏈路層,物理層。但我們一般討論的是五層或四層模型,分別是 應用層,傳輸層,網路層,資料鏈路層,物理層 四層模型中不包括物理層 對每層的代表硬體,使用協議等...

網路流 網路擴容

問題描述 給定一張有向圖,每條邊都有乙個容量c和乙個擴容費用w。這裡擴容費用是指將容量擴大1所需的費用。求 1 在不擴容的情況下,1到n的最大流 2 將1到n的最大流增加k所需的最小擴容費用。輸入格式 network.in 輸入檔案的第一行包含三個整數n,m,k,表示有向圖的點數 邊數以及所需要增加...

網路 linux網路配置

zlm ubuntu sudo ifconfig eth0 192.168.1.109 netmask 255.255.255.0 broadcast 192.168.1.255 zlm ubuntu sudo route add del default gw 192.168.1.1 新增刪除閘道器...