草庐IT

python - 使用 Python 2.7 在 Windows 上运行 Scapy

我喜欢在Windows7下将Scapy与Pythonv2.7一起使用。如何安装Python2.7所需的模块pypcap?是否可以使用py2exe等分发工具将依赖于Scapy的Python脚本制作成独立的Windows应用程序?我使用的特定Python发行版是EnthoughtPython发行版7.02。 最佳答案 侵入式更新:请注意,此答案已过时,最新版本(>=2.4.0)scapy仅需要Npcap(或Winpcap)才能工作,而IPython用于安慰。看看officialwindowspage如果有人需要Scapyfor64-bi

windows - Scapy 在 Windows 7 64 位 Python 3.5 上安装失败

我一直对这个安装感到疯狂,但似乎没有任何效果。Python3.5安装在:“C:\ProgramFiles(x86)\Python35-32”下,所以中间有一个空格。我通过两种方式安装了scapy:pip3安装scapy-python3来自网站http://www.secdev.org/projects/scapy,我下载了Scapy-2.3.2的链接,然后将其编译为pythonsetup.pyinstall(这很可能适用于Python2,因为首先,它在fname(chmod,0755)上失败,我将其更正为fname(chmod,0o755)但它期待更多的参数)每次我都尝试运行scapy

python - Scapy windows - sniff() - 'log_runtime' 未定义

我按照支持的程序安装了python2.7和scapy:pywin32、WinPcap、Pypcap和libdnet。我觉得说我的操作系统是Windows7很重要。当我使用函数sniff时,它似乎引发错误:http://prntscr.com/dbd79a.我已经尝试了另一个scapy的函数和类作为IP和sendp,它工作正常,问题只在于嗅探。我已经从许多安装链接中尝试了多个版本的scapy,但没有任何变化。 最佳答案 您的问题是2.3.3版scapy(16年10月18日上传)中的错误。它可能会在下一个版本中修复,同时您可以通过以下方

python - 如何通过 scapy 发送 FIN 数据包关闭连接?

我需要发送一个FIN数据包来关闭具有IP和端口信息(以及来自先前数据包的其他信息)的连接。我已经看到可以通过3次握手建立新连接(参见3wayhandshakeinScapy),但没有关于连接关闭的内容。 最佳答案 如RFC所述您需要发送一个FIN段,然后等待端点的确认(ACK)+FIN段,然后为其发送最后一个ACK​​段。这是一个使用Scapy的简单示例:fromscapy.allimport*conf.L3socket=L3RawSocketsport=10000dport=45000pkt=IP(src="1.2.3.4",ds

python - 无法使用 Scapy sendp() 发送 MPTCP 数据包

我使用支持MPTCP的修改内核在pcap文件中捕获了多路径TCP流量。该流量中带有Scapy的数据包的第2层header给出了类似下面的内容,我无法理解,因为它不像以太网header。>>>p=sniff(offline="my.pcap",count=1)[0]>>>p.show()###[cookedlinux]###pkttype=sent-by-uslladdrtype=0x1lladdrlen=6src='4@\xb5\x8e\x15\x92'proto=IPv4###[IP]###version=4Lihl=5L.........当我尝试使用sendp()发送上述数据包时,

python - Scapy 错误的 TCP 校验和计算

询问后this,我只是想做一个简单的测试。我使用tcpdump捕获了一个流量。在Wireshark中过滤掉一个TCPACK包,并将过滤后的包导出到sample.pcap。现在这几乎就是我用于TCP校验和重新计算的代码:fromscapy.allimport*ack_pkt=sniff(offline="sample.pcap",count=1)[0]print"Original:\t",ack_pkt[TCP].chksumdelack_pkt[TCP].chksumprint"Deleted:\t",ack_pkt[TCP].chksumack_pkt[TCP]=ack_pkt[TC

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

我想使用scapy编写一个程序,例如使用scapy发送自定义数据包,完成程序后,我想使用py2exe将python文件转换为EXE文件,以便在没有python的windows平台上使用。但是我发现安装scapyforwindows需要很多依赖文件,比如pywin32,winpcap,pypcap,libdnet,pyreadline,使用py2exe转换为exe文件后,用户是否应该安装多个文件才能使程序可执行?我的程序打算在各种计算机上执行。我不希望用户安装那么多依赖文件。 最佳答案 我不认为你能够完成你想要的。即使对于最简单的脚本

tcp - 使用 Scapy 发送 tcp payload : Why a byte is eaten?

我的问题是:我想用scapy实现一个监听服务来模拟蜜jar(因为蜜jar使用的是假ip,所以不能使用OSsockets),我选择了scapy。我实现了一个非常简单的TCP握手程序,但是有一件事让我很沮丧:我使用PSH发送的数据包的一个字节被吃掉了。例如,我向客户端发送“abc”,但客户端的套接字(例如netcat或wget)仅接收到“bc”。另一个例子是“HTTP/1.1200OK”变成“TTP/1.1200OK”。我捕获了数据包,wireshark可以正确地将我手工制作的数据包识别为HTTP,但客户端套接字只缺少1个字节。我不知道为什么。代码如下:192.168.1.100代表服务器

python - 使用 scapy 发送 TCP 握手,但在 wireshark 中序列号错误?

例如,有2台主机A和B,其IP地址分别为192.168.10.132和192.168.10.138。主机A发送seq=1的TCP数据包,B回复ack=1,seq=2的数据包,以此类推。代码如下:send(IP(dst='192.168.10.138',src='192.168.10.132')/TCP(sport=54321,dport=32145,seq=1,flags='S'))#HostAsend(IP(dst='192.168.10.132',src='192.168.10.138')/TCP(sport=32145,dport=54321,seq=2,ack=1,flags=

tcp - Scapy 设置 tcp 流窗口大于 65535

使用scapy时,如何设置流量控制窗口大于65535的tcp数据包?我知道用scapy写:packet1[TCP].window=65535将窗口设置为65535;但是,如果需要将窗口大小设置为大于65535,则应以不同的方式设置,因为在tcpheader中,窗口字段只有两个字节,因此它不能大于65535,因此应该在另一个中完成方法。我知道这应该是可能的。谢谢。 最佳答案 排序答案是:您不能将fieldTCP.window设置为大于65535的值,因为它是按两个字节编码的:>>>ls(TCP)[...]window:ShortFie