有没有办法检查实时流量scapy中的数据包?

时间:2014-09-05 01:44:41

标签: python routing scapy packet-sniffers

我正在尝试检查数据包进入我的界面。

所以我需要做的是:

我正在运行转发机器。所以基本上我就像我的局域网中的计算机一样。所以我需要将数据包路由到适当的目的地。这部分我有工作。

下一部分如下:

  1. 检查流经我电脑的数据包
  2. 根据这些数据包的有效负载做出适当的路由决策
  3. 如何使用scapy执行步骤1和2?

1 个答案:

答案 0 :(得分:3)

这很简单,您可以迭代传入的数据包,然后查看它们的字段并以任何方式发送它们。

此示例捕获接口eth1上的所有数据包,如果源IP以5结尾,则将所有IP数据包发送到1.1.1.1:

from scapy.all import *
for pkt in sniff(iface='eth1'):
    if IP in pkt and pkt[IP].src.endswith('5'):
        pkt[IP].dst = '1.1.1.1'
        sendp(pkt, iface='eth2')