python写的数据包处理工具scapy:
1、读取pcap文件:
from scapy.all import *
buffer=rdpcap(srcfile)
2、查看数据包属性名
ls(packet),如packet=Ether()/IP()/TCP().
3、计算TCP数据长度
len=packet[IP].len-(packet.ihl<<2)-(packet.dataofs<<2),三项分别表示IP包总长度,IP首部长,TCP首部长,
其中后两项分别以4个字节为单位。
4、取TCP的标记位
packet[TCP].flags &0x02==0x02 ? 如果表达式为真则表示packet的packet.tcp.syn=1.