Python Scapy使用

1. 读取、写入pcap文件

#读取pacap
a = rdpcap('*.pcap')

#写入
for p in a:
    try:
        wrpcap('*.pcap',p,append = True)#append代表追加模式
    except IndexError:
        pass

2. pcap包结构

print a[0].display()#a[0]代表pcap包中的第一条数据

>>> a=IP() 
>>> a.display() 
#结果
###[ IP ]###
version = 4 
ihl = None 
tos = 0x0 
len = None 
id = 1 
flags = 
frag = 0 
ttl = 64 
proto = ip 
chksum = None 
src = 127.0.0.1 
dst = 127.0.0.1 
\options\

3. 使用某一层的数据

a = rdpcap('*.pcap')#a[0]的结构: Ether->IP->TCP->Raw
a[0]['IP']#IP层数据,同时包含之后的层 IP->TCP->Raw
a[0]['Raw']#Raw层数据,只包含Raw层数据

4. 查看某一层的所有元素

a = rdpcap('*.pcap')
print a[0]['IP'].fields#查看IP层的各种标识数据
#输出:{'frag':0L,'src':'***.***.***.***','proto':17,'tos':96,'dst':'***.***.***.***' ......}

print a[0]['IP'].flag
#输出:0L

你可能感兴趣的:(python)