利用Python库Scapy解析pcap文件的方法


Posted in Python onJuly 23, 2019

每次写博客都是源于纳闷,python解析pcap这么常用的例子网上竟然没有,全是一堆命令行执行的python,能用吗?玩呢?

pip安装scapy,然后解析pcap:

import scapy
from scapy.all import *
from scapy.utils import PcapReader
packets=rdpcap("./test.pcap")
for data in packets:
  if 'UDP' in data:
    s = repr(data)
    print(s)
    print(data['UDP'].sport)
    break

打印s,是为了看到所有的字段:

<Ether dst=ff:ff:ff:ff:ff:ff src=30:fc:68:33:7a:e2 type=0x800 |<IP version=4 ihl=5 tos=0x0 len=143 id=37312 flags= frag=0 ttl=64 proto=udp chksum=0x644d src=192.168.1.1 dst=192.168.1.255 options=[] |<UDP sport=1024 dport=5001 len=123 chksum=0x3051 |<Raw load='\x01\x01\x0e\x00\xe1+\x83\xc7\xb2\x9f\x00e\x00\x00\x00\x06\x00\tTL-WR886N\x00\x0b\x00\x035.0\x00\x07\x00\x01\x01\x00\x05\x00\x1130-fc-68-33-7a-e2\x00\x08\x00\x0b192.168.1.1\x00\t\x00\ntplogin.cn\x00\n\x00\rTL-WR886N 5.0\x00\x0c\x00\x051.7.3' |>>>>

然后就能用data['UDP'].sport打印udp的源端口了。

现在基本的字段都能看到了,如果还想看别的协议的字段,可以参考源码:

https://github.com/secdev/scapy/tree/master/scapy/layers

L2层在l2.python,ip,tcp等在inet.py中,例如tcp的一些字段名称在这:

利用Python库Scapy解析pcap文件的方法

以上这篇利用Python库Scapy解析pcap文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python登录豆瓣并发帖的方法
Jul 08 Python
基于Python实现文件大小输出
Jan 11 Python
Linux下为不同版本python安装第三方库
Aug 31 Python
python通过Windows下远程控制Linux系统
Jun 20 Python
python接口调用已训练好的caffe模型测试分类方法
Aug 26 Python
Win10+GPU版Pytorch1.1安装的安装步骤
Sep 27 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
使用Python 自动生成 Word 文档的教程
Feb 13 Python
使用opencv中匹配点对的坐标提取方式
Jun 04 Python
DataFrame 数据合并实现(merge,join,concat)
Jun 14 Python
详解Python流程控制语句
Oct 28 Python
python创建字典及相关管理操作
Apr 13 Python
python3.x提取中文的正则表达式示例代码
Jul 23 #Python
Python Pandas 箱线图的实现
Jul 23 #Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 #Python
Pandas分组与排序的实现
Jul 23 #Python
Python项目 基于Scapy实现SYN泛洪攻击的方法
Jul 23 #Python
Django logging配置及使用详解
Jul 23 #Python
Python利用scapy实现ARP欺骗的方法
Jul 23 #Python
You might like
PHP 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
ThinkPHP中RBAC类的四种用法分析
2014/11/24 PHP
smarty模板引擎从php中获取数据的方法
2015/01/22 PHP
Javascript 键盘keyCode键码值表
2009/12/24 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
js 金额格式化来回转换示例
2014/02/23 Javascript
javascript arguments使用示例
2014/12/16 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
javascript原生ajax写法分享
2016/04/10 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
不使用JavaScript实现菜单的打开和关闭效果demo
2018/05/01 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
JavaScript onclick事件使用方法详解
2020/05/15 Javascript
python删除特定文件的方法
2015/07/30 Python
Scrapy-redis爬虫分布式爬取的分析和实现
2017/02/07 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
使用sklearn进行对数据标准化、归一化以及将数据还原的方法
2018/07/11 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
马来西亚和新加坡巴士票在线预订:CatchThatBus
2018/11/17 全球购物
Charles & Keith欧盟:新加坡时尚品牌
2019/08/01 全球购物
自学考试自我鉴定范文
2013/09/26 职场文书
春风行动实施方案
2014/03/28 职场文书
师德师风承诺书
2014/05/23 职场文书
学校查摆问题整改措施
2014/09/28 职场文书
三八节活动简报
2015/07/20 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
浅谈GO中的Channel以及死锁的造成
2022/03/18 Golang