问题标签 [scapy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
21694 浏览

python - 使用 sniff() 函数进行 Scapy 过滤

我正在使用 scapy 函数 sniff() 进行数据包捕获。我只想捕获 EAP 数据包。我可以使用 tcpdump 使用以下过滤器过滤 EAP 数据包:

同时,我使用相同的过滤器运行 sniff() 函数,但函数不捕获任何 EAP 数据包:

为什么 sniff() 函数不捕获任何 EAP 数据包?

编辑:

抱歉我的反应迟了,我尝试了你的建议:

但这仍然不能捕获 EAP 数据包:(

0 投票
2 回答
5502 浏览

python - 用 scapy 在 python 中编写以太网桥

我想做这样的事情:

这样就A可以将数据包发送到Cthrough B

我试图通过运行一个scapy程序来构建这个东西,B它会嗅探端口ef,并在每种情况下修改数据包中的目标 IP 和 MAC 地址,然后通过另一个接口发送它。就像是:

然而,当我运行这个东西(这里的完整源代码)时,各种疯狂的事情开始发生......一些数据包通过了,我什至得到了一些响应(用 测试ping)但是有某种类型的反馈循环导致了一堆重复的数据包被发送......

有什么想法吗?尝试这样做是不是很疯狂?

我有点怀疑反馈循环是由B对数据包进行自己的一些处理这一事实引起的......有没有办法阻止操作系统在我嗅探数据包后处理它?

0 投票
2 回答
4189 浏览

python - 在 ScaPy 中使用 LenFields

我正在 ScaPy 中编写一些协议,但很难理解 len 字段的工作原理。阅读http://trac.secdev.org/scapy/wiki/LengthFields后,我的开明程度也不逊色。

显然,我们有他们所谓的“lenfield”(保存字段的长度)和“varfield”(包含实际的可变长度字段)。但是,似乎唯一可以是 varfield 的字段是 PacketLenField、StrFixedLenField 和 StrLenField。其余的田地在哪里?为什么不能有可变长度的 BitField 或 XBitField?

例如我有:

这正确返回了 8 的长度(在这种情况下我想要的字段是 8 个八位字节/ 4 个十六进制对长)。到目前为止一切都很好。但是,当我尝试获取该字段时,似乎我唯一的选择是 StrLenField,它返回类似 'A\x81\x11\x11P 3'

所以,我的问题是:如何将该字段作为数据包中的实际十六进制取回?我是否缺少内置字段中的某些内容,或者我是否必须创建类似 XBitLenField 的内容?

谢谢你的帮助。

0 投票
3 回答
9775 浏览

python-3.x - Scapy 和 Python 3.2

Scapy 会与 Python 3.2 兼容吗?我一直试图找到一些关于它如何执行的信息,因为 Scapy 网站上关于 Python 3.X 兼容性的信息相当稀少(如果有的话),而且我没有提供任何信息。有没有人尝试在 Python 3.X 上使用它,它的表现如何?

0 投票
3 回答
221 浏览

python - 为什么我的标准输出会干扰我在 python 中的网页?

非常简单的代码,只使用 scapy 触发一个 pcap(数据包),

如果我只想对自己做简单的 cgi-bin POSTS 来运行一组 10 个简单的测试,为什么这只是作为文本(而不是网站)返回。如果我注释掉该行

然后下面的代码实际上可以很好地生成网站......但它实际上不会发送数据包,我想这是标准输出的东西......欢迎提出建议!

如果我查看源代码,我会看到这个->

0 投票
1 回答
611 浏览

python - scapy的最终EXE文件是否需要另一个依赖文件

我想使用 编写程序scapy,例如使用 scapy 发送自定义数据包,完成程序后,我想使用 将 python 文件转换为 EXE 文件py2exe,以便在没有python. 但是我注意到scapy for windows的安装需要很多依赖文件,例如,,,,,,使用py2exe转换为exe文件后pywin32,用户是否应该安装多个文件才能使程序可执行?我的程序打算在各种计算机上执行。我不希望用户安装这么多依赖文件。winpcappypcaplibdnetpyreadline

0 投票
1 回答
961 浏览

proxy - 如何根据包含的数据(文本)过滤/嗅出网页?

我正在寻找对我的小项目有用的信息,它允许我嗅探从网络服务器接收的网页,在它出现在浏览器中之前,我将测试内容(文本),然后根据这个测试,我的程序块(或重定向) 页面以防测试为假...

我发现一个非常完整的库是scapy,他可以嗅探和伪造所有流量,包括 http 回复..

我发现有人想做类似的事情,但响应建议开发代理..

我的问题是:做代理需要什么?或者只是懒惰

0 投票
1 回答
453 浏览

duplicates - 检测具有相同 MAC 地址和相同 IP 地址的计算机

在 LAN 上,我如何检测具有相同 MAC 地址和相同 IP 地址(由 DHCP 提供)的计算机?

在我的局域网中,这是一个常见问题,因为虚拟机克隆一直在进行。

到目前为止,我已经尝试过:

我已经有一个使用 scapy 的工作脚本来检测具有相同 MAC 但不同 IP 地址的计算机。

0 投票
4 回答
21345 浏览

scapy - 如何用 scapy 更改数据包数据?

如何用 scapy 更改数据包数据?

我尝试使用sniff()然后send()编辑的数据包,但它不会工作,因为原始数据包已经到达它的目的地。

0 投票
0 回答
1236 浏览

python - 删除 tzsp 标头以规范 pacquet

我试图在“python”上创建一个小嗅探器,以删除我的路由器用来向我发送一个副本的所有流过它的数据包的 tzsp 封装。问题是我想使用 ossim 和 snort 来分析流量,并且想解封装数据包并将其发送到 snort 正在侦听的虚拟接口。

我已经有了嗅探器,但没有找到剥离 tzsp 标头以获取原始数据包并在之后发送的方法。我看到其他人在 perl 上做过这个,但不知道如何在 scapy 上做同样的事情。

它基本上删除了前 5 个字节。

# --- 剪切 TZSP 字节 my $tzspheader = substr $udp->{data}, 0, 5; 我的 $tzspdata = substr $udp->{data}, 5;

完整的 perl 脚本 -> http://wiki.mikrotik.com/wiki/Calea_perl_trafr

我可以使用 pkt scapy 格式作为数组吗?如果我删除了路由器接收到的数据包的标头,我可以使用 scapy 直接发送它还是我必须根据原始数据包协议创建一个 emtpy 数据包并将每个字段复制到新的?

谢谢你们