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

标签 python routes scapy packet-sniffers

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

所以我需要做的是:

我正在运行转发机器。所以基本上我的作用就像局域网中计算机的路由器一样。因此,我需要在数据包通过时将其路由到适当的目的地。这部分我正在努力。

下一部分如下:

  1. 检查流经我电脑的数据包
  2. 根据这些数据包的负载做出适当的路由决策

如何使用 scapy 执行步骤 1 和 2?

最佳答案

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

此示例捕获接口(interface) 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')

关于python - 有没有办法检查实时流量 scapy 中的数据包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25677518/

相关文章:

python - 在Python中以更简洁的方式创建具有可变属性的对象

python - 在 Python 中创建类的开销 : Exact same code using class twice as slow as native DS?

ruby-on-rails - 使用 OAuth 和 Rails 的注销路由

python - 发送大量数据包而不是 1 个 SSL Python

http - Python Scapy - 拦截和修改本地主机上的 http 数据包

python - Scapy - 在其他两个层之间插入数据包层

python - Django 字段验证错误没有被引发

python - Numpy 设置工具 : How to compile fortran file as part of a module

php - 将uri参数添加到laravel中的路由名称中

javascript - 我想在 Next.js 中的路由更改之前创建一个确认模式