importsocket
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':
(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 新增刪除閘道器...