有没有人成功在运行 Fedora 12 的 PlanetLab 节点上使用 Scapy?
我知道安全的原始套接字限制,但是似乎只需设置conf.L3socket=L3RawSocket
,就可以通过Scapy发送数据包。至于数据包的接收,我无法让Scapy正常工作,所以我只能使用tcpdump。
TCP和ICMP似乎可以正常工作:
- ICMP回显请求会收到回显回复
- 生存时间(TTL)较低的 ICMP 回显请求会收到超时消息
- TCP SYN 数据包会收到 TCP RST 数据包
- 生存时间(TTL)较低的 TCP 数据包会收到超时消息
UDP则不行:
- 发送到关闭端口的 UDP 包会触发一个 ICMP 端口不可达的消息,但这个消息无法回到我的实例。Tcpdump 只看到了 UDP 包。
- 同样情况也出现在 UDP 包在途中过期的情况下。
有没有其他参数需要设置以便接收这些 ICMP 数据包?
sudo python
启动 Python,否则 Scapy 将无法在第 3 层发送任何数据。 - Ricky Robinsontcpdump
收集时间戳。我遇到的问题是,当我用 scapy 发送 UDP 数据包时,与这些数据包相关的 ICMP 消息无法返回到我的切片。这意味着在节点级别将入站数据包与切片匹配的机制无法将这些 ICMP 数据包分配给我的 UDP 数据包并将它们交付给我。令人惊讶的是,我可以发送 TCP 和 ICMP 并得到所有相关的回复,但对于 UDP 却不起作用。 - Ricky Robinson