说我想让scapy成为接收数据包的服务器, 像:
>> p=r("host:port") // waiting for a package
有可能吗?
答案 0 :(得分:1)
如果你真的想要绑定套接字,那么你必须使用Python的socket
模块。您可以从Scapy执行此操作并使用它来剖析捕获的数据包。
但是,通过这样做,您将表现为常规应用程序,因此只能获得"应用程序"图层(而不是网络图层IP
和TCP
或UDP
。
现在,如果您想在特定端口上从网络捕获一个数据包,您可以在" pure" Scapy,具有sniff()
功能和简单的BPF过滤器:
p = sniff(filter="port 53", count=1)[0]