Ethereal 自带许多协议的 decoder,简单,易用,基于winpcap的一个开源的软件.但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改 Ethereal的代码,再重新编译,很烦琐.对于一般的明文 协议,没有什么问题,但是对于加密协议,比如网络游戏,客户端程序一般会在刚连接上的时候,发送一个随机密钥,而后的报文都会用这个密钥进行加密,如此. 要想破解,得要有一个可编程的抓包器.
libpcap是一个不错的选择,但是对于抓包这样需要反复进行”试 验->修改”这个过程的操作,c 语言显然不是明智的选择.
Python提供了几个libpcapbind,http://monkey.org/~dugsong/pypcap/这里有 一个最简单的。在windows平台上,你需要先安装winpcap,如果你已经安装了Ethereal非常好用
一个规范的抓包过程
import pcap
import dpkt
pc=pcap.pcap() #注,参数可为网卡名,如eth0
pc.setfilter('tcp port 80') #设置监听过滤器
for ptime,pdata in pc: #ptime为收到时间,pdata为收到数据
print ptime,pdata #...
对抓到的以太网V2数据包(raw packet)进行解包
p=dpkt.ethernet.Ethernet(pdata)
if p.data.__class__.__name__=='IP':
ip='%d.%d.%d.%d'%tuple(map(ord,list(p.data.dst)))
if p.data.data.__class__.__name__=='TCP':
if data.dport==80:
print p.data.data.data # by gashero
一些显示参数
nrecv,ndrop,nifdrop=pc.stats()
返回的元组中,第一个参数为接收到的数据包,(by gashero)第二个参数为被核心丢弃的数据包。
该博客首发于www.litreily.top pypcap是一个对libpcapC库进行封装和简化的面向对象的抓包工具库,可以非常方便的用于抓包和过滤,结合dpkt解析库可以完成许多网络数据包的抓取和分析。本文讲述的就是如何使用pypcap及dpkt库实现简单抓包工具,也称为嗅探器(sniffer). Linux 端安装 pypcap sudo apt-get install libpcap-de
先说结论,直接使用pcap-ct。 因为项目需求需要在windows下抓包,用python编程。所以就找相关的轮子。找到了三个: 1、pypcap(pip install pypcap) 2、libpcap(pip install libpcap) 3、pcap-ct(pip install pcap-ct) 那么,这三个有啥区别呢?其实从底层来说,都是基于C libpcap的python封装
pypcap是libpcap(当前tcpdump.org版本)和Windows的WinPcap端口的简化的面向对象的Python包装器。 WinPcap与Windows 10存在兼容性问题,因此建议使用Npcap (Nmap的Windows数据包嗅探库,基于WinPcap / Libpcap库,但具有提高的速度,可移植性,安全性和效率)。在库安装过程中,请启用WinPcap API兼容模式。
Windows下安装使用Pypcap 在百度和google上这方面的资料也很少。而且都还是用python2.7+WinPcap的方案 安装时遇到很多问题 便记录了下来 运行pip3 install pypcap时出现错误提示 TypeError: expected str, bytes or os.PathLikeobject, not NoneType pcap.h not found http
安装pcap报错如下:经过排查主要是ubuntu下缺少libpcap0.8-dev包的问题。 pip-install-g6myl6qk/pypcap_dd1e03818f7343d2aec318399c10754a/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"
一、环境介绍 win10+pycharm idea+scapy_2.4.4报‘Microsoft KM-TEST Loopback Adapter’错 二、解决方法 我的电脑右击>属性>设备管理器>找到网络适配器选中>操作>下滑添加过时硬件>下一步>安装我手动从列表选择的硬件(高级)>下一步>常见硬件类型下滑选择网络适配器>下一步>厂商选择Microsoft,型号选择microsoft KM-TE
下面的例子中我们通过tcpdump查看workerman-chat应用通过websocket传输的数据。workerman-chat例子中服务端是通过7272端口对外提供websocket服务的,所以我们抓取7272端口上的数据包。 1、运行命令 tcpdump -Ans 4096 -iany port 7272 2、在浏览器地址栏输入 http://127.0.0.1:55151 3、输入昵称
提示 视频 PPT 下载 背景介绍 在网络编程的过程中,经常需要利用抓包工具对开发板发出或接收到的数据包进行抓包分析。wireshark 是一个非常好用的抓包工具,使用 wireshark 工具抓包分析,是学习网络编程必不可少的一项技能。 准备工作 安装 wireshark 安装 wireshark,一路默认安装就行。程序安装完之后,打开 wireshark 软件。 选择与开发板相对应的网卡 打开
手机设置代理 连接好指定的 wifi 后,点击那个 wifi 里的设置,将「代理」那一项,设置为手动,然后输入ip(电脑上的ip)、端口号(8899)。然后就可以通过电脑上的 whistle 工具,查看手机的网页请求。注意,要保证手机和电脑在同一个网络下。 捕获和拦截https请求 whistle 安装证书后,可以拦截 https 请求。但是,我现在又不想拦截 https 请求了,该怎么卸载证书呢
下面的例子中我们通过tcpdump查看workerman-chat应用通过websocket传输的数据。workerman-chat例子中服务端是通过7272端口对外提供websocket服务的,所以我们抓取7272端口上的数据包。 1、运行命令 tcpdump -Ans 4096 -iany port 7272 2、在浏览器地址栏输入 http://127.0.0.1:55151 3、输入昵称
注:本文大部分转自细说tcpdump的妙用,有删改。 tcpdump命令: tcpdump -en -i p3p2 -vv # show vlan tcpdump选项可划分为四大类型:控制tcpdump程序行为,控制数据怎样显示,控制显示什么数据,以及过滤命令。 控制程序行为 这一类命令行选项影响程序行为,包括数据收集的方式。之前已介绍了两个例子:-r和-w。-w选项允许用户将输出重定向到
主要内容:分析url规律,写正则表达式,编写程序代码本节编写一个快速下载照片的程序,通过百度图片下载您想要的前 60 张图片,并将其保存至相应的目录。本节实战案例是上一节《 Python Request库安装和使用》图片下载案例的延伸。 分析url规律 打开百度图片翻页版( 点击访问),该翻页版网址要妥善保留。其 url 规律如下: 百度为了限制爬虫,将原来的翻页版变为了“瀑布流”浏览形式,也就是通过滚动滑轮自动加载图片,此种方式在一定程度上限制了
问题内容: 最近我一直在学习很多python,以便在工作中的某些项目上工作。 目前,我需要对Google搜索结果进行一些网页抓取。我发现了几个站点,这些站点演示了如何使用ajax google api进行搜索,但是在尝试使用它之后,似乎不再受支持。有什么建议? 我一直在寻找一种方法,但似乎找不到当前有效的解决方案。 问题答案: 您随时可以直接抓取Google搜索结果。为此,您可以使用将返回前10个
问题内容: 所以,我的问题相对简单。我有一只蜘蛛在多个站点上爬行,我需要它按照我在代码中写入的顺序返回数据。它发布在下面。 结果以随机顺序返回,例如,返回29,然后28,然后30。我已经尝试将调度程序的顺序从DFO更改为BFO,以防万一这是问题所在,但这并没有改变。 问题答案: 定义在方法中使用的URL 。下载页面时,将为你的方法调用每个起始URL的响应。但是你无法控制加载时间-第一个起始URL可