从 IP 和目标端口 23 进行 Scapy 数据包过滤



我正在尝试设置一个 scapy 数据包过滤器,以仅捕获来自特定源或 IP 地址且发往端口 23 的数据包。 这是我到目前为止的语法,但我认为这是错误的,因为我认为这种语法告诉 scapy 只捕获进入此 IP 地址的数据包。

pkt = sniff(filter='host 8.8.8.8 and port 23', prn=print_pkt)

我认为这种语法没有做我需要它做的事情。 我尝试搜索语法,告诉 scapy 只捕获来自 8.8.8.8 的数据包,但这是我能找到的全部内容,我认为它告诉 scapy 捕获发送到 8.8.8.8 的数据包。 这是对的吗?

Scapy 过滤器来自一个名为 BPF 的类型,您可以在此处查看语法。

就你而言,我认为你想做的是——

filter='src host 8.8.8.8 and dst port 23'

您的原始语法无法区分源和目标,因此它将过滤来自/到 ip8.8.8.8和来自/到端口 23 的数据包。

最新更新