Python Scapy TCP SYN 和 TCP 端口
Python Scapy TCP SYN and TCP Port
在使用 scapy 获取 tcp syn 标志并将源 ip、目标 ip、端口号存储在字典中时,有人有解决方案吗?我正在尝试构建一个工具来获取 pcap 文件并获取
这就是我厌倦的:
from scapy.all import PcapReader, TCP
from collections import Counter
count = Counter()
for pkt in PcapReader("testcapture.pcapng"):
if TCP in pkt and pkt[TCP].flags & 2: # TCP SYN packet
src = pkt.sprintf('{IP:%IP.src%}')
pkt.sprint
count[src] += 1
print(src)
这会找到所有带有 syn 标志的 ip,但我想查看端口号
要访问 TCP
层中的端口值,您可以使用 sport
和 dport
。
所以你可以这样调整你的代码:
count = {}
for pkt in PcapReader("testcapture.pcapng"):
if TCP in pkt and pkt[TCP].flags & 2: # TCP SYN packet
src = pkt.sprintf('{IP:%IP.src%}:{TCP:%TCP.sport%} -> {IP:%IP.dst%}:{TCP:%TCP.dport%}')
pkt.sprint
count[src] = count.get(src, 0) + 1
print(src)
在使用 scapy 获取 tcp syn 标志并将源 ip、目标 ip、端口号存储在字典中时,有人有解决方案吗?我正在尝试构建一个工具来获取 pcap 文件并获取
这就是我厌倦的:
from scapy.all import PcapReader, TCP
from collections import Counter
count = Counter()
for pkt in PcapReader("testcapture.pcapng"):
if TCP in pkt and pkt[TCP].flags & 2: # TCP SYN packet
src = pkt.sprintf('{IP:%IP.src%}')
pkt.sprint
count[src] += 1
print(src)
这会找到所有带有 syn 标志的 ip,但我想查看端口号
要访问 TCP
层中的端口值,您可以使用 sport
和 dport
。
所以你可以这样调整你的代码:
count = {}
for pkt in PcapReader("testcapture.pcapng"):
if TCP in pkt and pkt[TCP].flags & 2: # TCP SYN packet
src = pkt.sprintf('{IP:%IP.src%}:{TCP:%TCP.sport%} -> {IP:%IP.dst%}:{TCP:%TCP.dport%}')
pkt.sprint
count[src] = count.get(src, 0) + 1
print(src)