2017-04-08 58 views
0

我想使用python套接字檢索udp數據包的流量類(TOS)。以下代碼在python中生成套接字,並且我想要檢索類似於(java套接字中的getTrafficClass方法)的流量類。使用python套接字獲取udp數據包的流量類

UDP_IP = '127.0.0.1' 
 
UDP_PORT = 8080 
 
BUFFER_SIZE = 20 
 

 
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 
 

 
s.bind((UDP_IP, UDP_PORT)) 
 
data, address = s.recvfrom(BUFFER_SIZE) 
 
if data: 
 
    print "received data:", data 
 
    //I need to get the traffic class here.

回答

1

我認爲象Java getTrafficClass()沒有現成的方法。可以讀取IP層報頭(一個UDP層標題下方),並分析它,例如代碼在Sniffy.pyhttps://github.com/OffensivePython/Sniffy/blob/master/Sniffy.pyhttps://codingsec.net/2016/05/decoding-ip-layer-python/

[...] 
def sniff(sock): 
""" sniff a packet, parse its header and dump the sniffed data """ 
packet, address = sock.recvfrom(65565) 
ipheader=ip(packet[:20]) 
ipheader.parse() 
[...] 
+0

http://docs.oracle.com/javase/1.5.0/docs /api/java/net/Socket.html#setTrafficClass%28int%29,這是指向java文檔中指定的方法的鏈接。我想要這樣的東西。 –