- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Windows 7(Python 3.6、Scapy 2.4.0)上对 Scapy 的基本用法有疑问。我也在这个系统上运行 Npcap 0.99r7 和 Wireshark 2.6.2。系统只有一个无线网络接口(interface)加上Npcap环回接口(interface)。
我设置了这个非常经典的 TCP 服务器...:
import socket
host = '127.0.0.1'
port = 8089
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(1)
connection, address = s.accept()
while 1:
try :
data = connection.recv(1024)
except ConnectionAbortedError:
break
if data:
print('Received: %s' % (data.decode ('utf-8')))
connection.sendall('Data received'.encode())
connection.close()
s.close()
...我设置了这个非常经典的 TCP 客户端:
import socket
host = '127.0.0.1'
port = 8089
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send('Hello, world!'.encode())
data = s.recv(1024)
print('Received: %s' % (data.decode('utf-8')))
s.close()
两者都很好。 Wireshark 会报告环回接口(interface)上的整个 TCP 流量。
现在,我正在运行服务器,我尝试运行那段代码,它只会使用 Scapy 将 SYN 发送到服务器:
from scapy.layers.inet import IP
from scapy.layers.inet import TCP
from scapy.sendrecv import *
dstHost='127.0.0.1'
dstPort = 8089
packet = IP(src='127.0.0.1', dst=dstHost)/TCP(dport=dstPort, flags='S')
response=sr1(packet, timeout=10)
response.display()
Python 报告:
Begin emission:
..Finished sending 1 packets.
......Traceback (most recent call last):
File "R:/Documents/Projets/python/hacking/scan.py", line 46, in <module>
response.display()
AttributeError: 'NoneType' object has no attribute 'display'
Received 8 packets, got 0 answers, remaining 1 packets
此外,Wireshark 在环回接口(interface)上看不到任何东西。有人可以给个提示吗?
正如建议的那样,我尝试使用 sendp()
而不是 send()
的更明确的代码,因为我们在这里讨论第 2 层:
route_add_loopback()
packet = Loopback()/IP(src='127.0.0.1', dst='127.0.0.1')/TCP(dport=8089, flags='S')
sendp(packet,iface='Npcap Loopback Adapter')
不幸的是,Wireshark 不会在任何一个接口(interface)(“Intel(R) Centrino(R) Advanced-N 6235”和“Npcap Loopback Adapter”)上嗅探数据包。
注意需要调用route_add_loopback()
,否则show_interfaces()
不会报告'Npcap Loopback Adapter',这意味着sendp ()
将失败。在route_add_loopback()
之后调用conf.route.resync()
可以恢复Scapy路由表,但是结果是一样的:Wireshark没有嗅探数据包在任一界面上。
如果有人能找到一些运行在 Windows 7 上的 Python 代码片段,可以成功地在“Npcap Loopback Adapter”上发送一个简单的 TCP 数据包,欢迎他...
最佳答案
环回接口(interface)不是“常规”接口(interface);对于 Windows 尤其如此。
您可以通过运行以下命令来检查 Scapy 用于发送数据包的路由:packet.route()
。
如果显示的路由不使用环回接口(interface),您可以尝试运行(这是特定于 windows 的)route_add_loopback()
并重试。
另一种选择是使用 srp1()
代替 sr1()
,并将环回接口(interface)指定为 iface=
参数。
关于使用 Scapy 发送的 TCP SYN 从未被服务器接收,也未被 Wireshark 在环回接口(interface)上注意到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51579229/
Wireshark 何时对数据包加时间戳?完全接收一帧后?或者已经在接收帧的第一个字节?我阅读了以下关于 Wireshark timestamps 的描述但该文本仅说明:“在捕获数据包时,每个数据包在
在我们的团队中,我们有一个标准化的开发设置,我们有一个 Win8 工作站,在 Hyper-V 上运行各种虚拟机。所有开发都在虚拟机上进行。 我遇到了一个问题,我无法使用 VS2012 从 Team F
我对 Wireshark 中的抖动计算方法有疑问。 Wireshark 根据 RFC3550 (RTP) 计算抖动: 如果 Si 是数据包 i 的 RTP 时间戳,Ri 是数据包 i 在 RTP 时间
我正在尝试使用以下选项从 cli 启动 wireshark... wireshark -k -i eth2 -a filesize:1000000 -f 我遇到的问题是我想使用预定义的wiresha
我们通过 WireShark 使用 JN5148EK010 节点捕获流量。收到的数据包显示在提供的屏幕截图中。 我想知道如何解码数据 捕获几个数据包后发生错误,还提供了屏幕截图。如何解决此错误? 列表
我正在尝试自动化我使用 WireShark 的重复手动过程: 1) 加载给定的 pcap 文件 2) 为给定协议(protocol)应用一个简单的过滤器 3) 使用导出对话框将显示的数据包导出为 CS
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 8年前关闭。 Improve this qu
有没有办法清除 Wireshark 中的捕获窗口,而无需重新启动捕获或重新应用过滤器?如果不仔细查看时间戳,很难区分一组流量和另一组流量。 最佳答案 我没有找到清除窗口的方法,但点击“重新启动正在运行
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 3 年前。 Improve this ques
我想知道wireshark 是如何工作的。可以监听给定机器所有端口上的流量的应用程序的设计是什么?这样的应用程序会产生什么样的窃听?编写一个监控流量的应用程序的好方法是什么? 谢谢 最佳答案 Wire
我想构建一个自己的 Wireshark 数据包解析器,并按照https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html中给出的
假设我有这样的模式 01:02:(anything):04:05 如何在wireshark中构造一个显示过滤器来过滤掉它? 我必须这样做吗? data[0:2]==01:02 and data[3:2
我想构建一个自己的 Wireshark 数据包解析器,并按照https://www.wireshark.org/docs/wsdg_html_chunked/ChDissectAdd.html中给出的
假设我有这样的模式 01:02:(anything):04:05 如何在wireshark中构造一个显示过滤器来过滤掉它? 我必须这样做吗? data[0:2]==01:02 and data[3:2
是否可以在 Wireshark 中重新编号。例如,我已将数据包过滤到一侧: 所以数字是(由于过滤它们没有按顺序排列): 416,419,420,423,424,426,427。 但我想像这样一行一行地
我想使用 Opus-48 编解码器捕获和解码 VoIP 对话。我正在使用 Wireshark 来捕获数据包。网上有免费的解码器吗?? Wireshark 不保存双向对话,因为它适用于 G-729 等其
tshark中的-Y、-2和-R选项让我困惑了很久。 看了说明书,我知道-Y用在单通滤波,-2用在2通滤波(万一我们不能在第一遍过滤器结束之前获取一些信息) 但我还是不明白 -2 -Y 'blabla
如果我想编写一个使用 Wireshark 功能的脚本,我会使用 tshark。我听说还有一个 libwireshark 可以在用 C 编写程序时使用,但是,就我的一生而言,我找不到任何文档!我尝试隔离
我有一个正在分析的 Wi-Fi 捕获 (.pcap),并且遇到了在我看来 802.11 规范与 Wireshark 对数据的解释之间的不一致之处。具体来说,我想要拆分的是 2 字节的 802.11 帧
有没有办法过滤或关注 TCP/SSL使用 Wireshark 基于特定进程 ID 的流? 最佳答案 以防万一您正在寻找替代方法并且您使用的环境是 Windows,Microsoft 的 Network
我是一名优秀的程序员,十分优秀!