python - 如何更改实时数据包长度,然后在 scapy 中转发它们?
问题描述
我想使用 scapy 来操作网络实时数据包(更改特殊程序的数据包长度)然后将它们转发到 dst。我该怎么做?是否有比 scapy 更好的工具?
解决方案
使用 scapy 很容易做到这一点,例如以下示例:
from scapy.all import *
def _handle(pkt):
pkt[Ether].dst = None # ask scapy to regenerate it
pkt[IP].dst = “192.168.x.y”. # or any IP
# packet edits
# ...
sendp(pkt)
sniff(prn=_handle). # on each packet received, execute _handle(pkt)
sendp
您还可以在 arg 中或sniff
使用iface=...
arg指定接口
推荐阅读
- flutter - 如何阻止颤振在错误上运行构建功能
- postgresql - PostgreSQL 会自动创建表的索引吗?
- javascript - 有效的字谜空间复杂度
- amazon-web-services - 随机查询 DynamoDB 表的更好方法?
- java - Javac 使用 Powershell 但不使用命令提示符
- python - 将 Opencv 与烧瓶一起使用时,“无法停止流:设备或资源繁忙”。未导入烧瓶时效果很好
- r - spTransform():“不能从 NA 参考系统进行转换”
- javascript - Firebase 函数:未定义函数
- java - 如何从处理库中导入数据文件夹?
- swift - 如何在 Swift 中有效地显示来自两个不同 Firebase 引用的集合视图中的数据?