pypcap 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
pypcap 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
pypcap 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
pypcap 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
pypcap 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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)第二个参数为被核心丢弃的数据包。

展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/08/17 17:28

Windows下安装使用Pypcap

在百度和google上这方面的资料也很少。而且都还是用python2.7+WinPcap的方案 安装时遇到很多问题 便记录了下来 运行pip3 install pypcap时出现错误提示 TypeError: expected str, bytes or os.PathLikeobject, not NoneType pcap.h not found  https://nmap.org/npcap/#download 安装Npcap 并下载Npcap SDK 将下载的SDK解压到 python目录里的include 将npcap-sdk-0.1 文件夹名字改成wpdpack pcapy模块的安装也可以参照该文,不...

0
0
发表了博客
2018/02/08 20:57

编译EXE文件的时候pcap编译不进去。 pyinstaller pcap pypcap 报错

如果生成的exe源码中有import pcap 那么你目标机上就要先装npcap 并勾选winpcap API。 然后就不出这个问题了。 暂时的办法是第一个exe不包含import pcap。自检npcap的安装状态。如果有npcap就打开第二个exe,这个就可以import pcap了。 并且pypcap 貌似只在win10上能用。 from scapy.all import * pkts = sniff(prn=lambda x: x.sprintf("{IP:%IP.src% -> %IP.dst%\n}{Raw:%Raw.load%\n}")) 简单尝试scapy,也可以抓包,明天...

0
0
发表了博客
2018/01/13 14:32

windows 环境下python 安装 pypcap 并用pyinstaller打包到exe,解决DLL 加载失败。

安装 PYQT5 pypcap 环境: windows10_x64 python3.6.3 pycharm2017.2.4 备注: 需要安装 Visual C++ Build Tools 2015 可以解决 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools 1:建立虚拟环境 创建虚拟环境,基于python3.6.3,自动包含 pip setuptools 2:安装pyqt5 pycharm直接在虚拟环境中安装pyqt5,自动安装...

0
0
发表了博客
2018/02/11 21:11

python tcp 实时抓包

问题:之前我们系统上线后,因为是旧的系统,没有加统计的功能,比如用户喜欢那个页面,是哪些用户再访问,接口的负载能力等等。 解决办法:1,现有代码更改,添加功能。现有代码侵入太多,工作量比较大 2,想到tcpdump 抓包,然后分析文件。文件特别大,而且不能做到实时处理。 3,采用python 脚本来处理,直接抓包80端口,加上一些处理,入库之内。 环境搭建: 1,使用到的第三方包:dpkt-1.8.8.tar.gz, impacket-master.zip,...

0
0
发表了博客
2019/05/20 22:56

快速实现python抓包嗅探

1. 使用scapy ,但是这个在macos上安装比较麻烦,没有多试 2. 使用pypcap, 这个相对上手容易 1 #coding:utf8 2 __author__ = 'yeyong' 3 import dpkt 4 import pcap 5 6 sniffer = pcap.pcap(name="en0") #name parameter => interface name 7 sniffer.setfilter("tcp") #filter sentence 8 cur_timestamp = 0 9 c=0 10 caplen = 0 11 for packet_time,packet_data in sniffer: ...

0
0
发表了博客
2012/10/26 14:46

Code a packet sniffer in python with pcapy exte...

http://www.binarytides.com/code-a-packet-sniffer-in-python-with-pcapy-extension/ Code a packet sniffer in python with pcapy extension Pcapy In the previous articles we coded packet sniffers in python using raw sockets. Now lets use the libpcap library for the same. Libpcap is the packet capture library for linux and has wrappers for most languages. In python there are multiple libpcap wrappers ...

0
0
发表了博客
2012/10/26 14:26

Code a packet sniffer in python with pcapy exte...

http://www.binarytides.com/code-a-packet-sniffer-in-python-with-pcapy-extension/ Code a packet sniffer in python with pcapy extension Pcapy In the previous articles we coded packet sniffers in python using raw sockets. Now lets use the libpcap library for the same. Libpcap is the packet capture library for linux and has wrappers for most languages. In python there are multiple libpcap wrappers ...

0
1
发表了博客
2018/02/27 20:44

Python - 常用更新命令以及常见库安装

库的安装方式一般有两种: 一、 pip直接安装(或使用豆瓣源) pip install scrapy pip install -i https://pypi.douban.com/simple/ scrapy pip uninstall 包名 #卸载包 二、使用whl文件安装 whl下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/# pip install xxxxx.whl #注意whl文件须在当前路径下或者whl文件名前加路径 pip install Twisted‑17.9.0‑cp36‑cp36m‑win_amd64.whl 三、使用其它镜像源 豆瓣源 pip inst...

0
0
发表了博客
2018/03/26 13:39

WEB安全番外第六篇--关于通过记录渗透工具的Payload来总结和学习测试用例

背景:   在WEB安全的学习过程中,了解过了原理之后,就是学习各种Payload,这里面蕴藏着丰富的知识含量,是在基本上覆盖了漏洞原理之后的进一步深入学习的必经之路。无理是Burpsuite还是Sqlmap、Awvs亦或是其他工具,包括人工收工构造的Payload都有很高的记录和学习意义,一方面如上所说的提高对WEB安全的掌握和理解,另一方面也对WEB安全自动化测试做积累。 需求:   记录WEB安全各种报文payload的工具 开发语言:   P...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2012/08/11 10:01

pypcap抓包清空缓冲区

pypcap中,pc = pcap.pcap()这样创建对象以后 for ts,tdata in pc: ..... 如果我想把pc中的缓存先清空,重新抓包该怎么弄? 请求大神指点

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
71 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部