当前位置: 首页 > 面试题库 >

Python中的数据包嗅探(Windows)

公西修文
2023-03-14
问题内容

使用Python嗅探网络数据包的最佳方法是什么?

我从几个地方听说,最好的模块是一个名为Scapy的模块,不幸的是,它使python.exe在我的系统上崩溃。我认为这只是我的安装方式的问题,除了许多其他人告诉我,它在Windows上不能很好地工作。(如果有人感兴趣,我正在运行WindowsVista,这可能会影响某些事情)。

有谁知道更好的解决方案?

UPD:

阅读了告诉我要安装PyPcap的答案后,我有点弄乱了,发现我尝试使用的Scapy告诉我也要安装PyPcap,只是它是使用的修改版。显然是因为修改后的PyPcap导致了问题,因为答案中的示例也导致了挂起。

我安装了原始版本的PyPcap(来自Google网站),Scapy开始正常运行(我没有尝试很多事情,但是至少当我开始嗅探时,它并没有崩溃)。我向Scapy开发人员发送了一张新的缺陷票:http
://trac.secdev.org/scapy/ticket/166 ,希望他们能对此做些事情。

无论如何,只是以为我会让大家知道。


问题答案:

使用pypcap:

import dpkt, pcap
pc = pcap.pcap()     # construct pcap object
pc.setfilter('icmp') # filter out unwanted packets
for timestamp, packet in pc:
    print dpkt.ethernet.Ethernet(packet)

输出样本:

Ethernet(src='\x00\x03G\xb2M\xe4', dst='\x00\x03G\x06h\x18', data=IP(src='\n\x00\x01\x1c',
dst='\n\x00\x01\x10', sum=39799, len=60, p=1, ttl=128, id=35102, data=ICMP(sum=24667,
type=8, data=Echo(id=512, seq=60160, data='abcdefghijklmnopqrstuvwabcdefghi'))))

Ethernet(src='\x00\x03G\x06h\x18', dst='\x00\x03G\xb2M\xe4', data=IP(src='\n\x00\x01\x10',
dst='\n\x00\x01\x1c', sum=43697, len=60, p=1, ttl=255, id=64227, data=ICMP(sum=26715,
data=Echo(id=512, seq=60160, data='abcdefghijklmnopqrstuvwabcdefghi'))))


 类似资料:
  • Cooja中的错误 我正在使用Contiki ng和示例udp服务器和udp客户端。我想做几件事:1-我希望客户端节点嗅探数据包,然后一旦嗅探到数据包,就向服务器发送数据包。我成功地做到了这一点,但有一些事情我不明白:a-当我在udp客户端中启动嗅探时,通过向代码中添加以下位: 这似乎只捕获udp客户端应用程序级别的数据包,当我增加QUEUEBUF\u CONF\u NUM以允许服务器接收这些数据

  • 问题内容: 我需要在Linux中编写一个数据包嗅探器,以检测发送的HTTPS数据包并保存请求中的url。我在security- freak中 找到了用于此的代码并运行了它。此代码运行,并且仅嗅探接收到的数据包,但我需要在嗅探器中获取发送的数据包。如何获得此代码中发送的数据包? 我不能使用任何类似libcap的库(禁止使用)。代码是:sniffer.c 问题答案: 您应该使用ETH_P_ALL而不是

  • 上一节(《4.1 SNIFFER(嗅探器)之数据捕获(上)》)中, 我们讲解了通过Raw Socket的方式来编写Sniffer的基本方法。 本节我们继续来编写Sniffer,只不过使用现成的库,可以大大 缩短我们的工作时间和编程难度,和上一篇文章对比就知道了。 4.1.6 使用Pypcap编写Sniffer 如果在你的电脑上找不到pypcap模块,需要手动进行安装一下。在Kali中使用下面的命令

  • 网络嗅探,是监听流经本机网卡数据包的一种技术,嗅探器就是利用这种技术进行数据捕获和分析的软件。 编写嗅探器,捕获数据是前置功能,数据分析要建立在捕获的基础上。本节就数据捕获的基本原理和编程实现做详细的阐述。 4.1.1 以太网网卡的工作模式 以太网网卡是我们日常生活中见得最多的网卡,我们的电脑通过网线或者wifi接入网络,使用的都是以太网网卡。 图2 常用的以太网卡支持以下工作模式:广播模式、多播

  • 7.2. 密码嗅探 尽管攻击者通过嗅探(察看)你的用户和应用间的网络通信并不专门用于访问控制,但要意识到数据暴露变得越来越重要,特别是对于验证信息。 使用SSL可以有效地防止HTTP请求和回应不被暴露。对任何使用https方案的资源的请求可以防止密码嗅探。最好的方法是一直使用SSL来发送验证信息,同时你可能还想用SSL来传送所有的包含会话标识的请求以防止会话劫持。 为防止用户验证信息不致暴露,在表

  • 问题内容: 我正在尝试使用scapy嗅探出站的HTTP数据包,在其中添加一些新的HTTP标头,然后将其发送出去。这里的目的是仅插入新的报头,同时保持数据包完好无损。如果需要,最大应进行任何校验和重新计算。 已经解决了关于SO的几乎所有问题,但并未完全找到解决方案。 以下是我所做的。 问题在于上面的代码将插入一个新的原始有效负载部分,而不是添加一个普通的标头。已经有双换行符\ r \ n \ r \