利用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去除空格和换行符的实现方法(推荐)
Jan 04 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
Apr 18 Python
python基础之入门必看操作
Jul 26 Python
详解Django之admin组件的使用和源码剖析
May 04 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
Python3中在Anaconda环境下安装basemap包
Oct 21 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
解决pycharm remote deployment 配置的问题
Jun 27 Python
Python制作词云图代码实例
Sep 09 Python
基于Python执行dos命令并获取输出的结果
Dec 30 Python
python画图常规设置方式
Mar 05 Python
详解Python中__new__方法的作用
Mar 31 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 Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
PHP获取二叉树镜像的方法
2018/01/17 PHP
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
深入理解JavaScript系列(34):设计模式之命令模式详解
2015/03/03 Javascript
jquery控制表单输入框显示默认值的方法
2015/05/22 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
基于vue3.0.1beta搭建仿京东的电商H5项目
2020/05/06 Javascript
Python实现批量检测HTTP服务的状态
2016/10/27 Python
Python使用logging模块实现打印log到指定文件的方法
2018/09/05 Python
Python生成指定数量的优惠码实操内容
2019/06/18 Python
python PyQt5/Pyside2 按钮右击菜单实例代码
2019/08/17 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
keras 权重保存和权重载入方式
2020/05/21 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
2020/06/18 Python
Python结合Window计划任务监测邮件的示例代码
2020/08/05 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
一道SQL存储过程面试题
2016/10/07 面试题
网络工程师的自我评价
2013/10/02 职场文书
个人职业生涯规划书1500字
2013/12/31 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
统计专业自荐书
2014/07/06 职场文书
房产公证委托书范本
2014/09/20 职场文书
综合管理员岗位职责
2015/02/11 职场文书
化验室岗位职责
2015/02/14 职场文书
音乐课外活动总结
2015/05/09 职场文书
行政撤诉申请书
2015/05/18 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
2016年小学“公民道德宣传日”活动总结
2016/04/01 职场文书
Java实现多文件上传功能
2021/06/30 Java/Android