利用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中的list列表数据结构用法
Mar 12 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
python绘制直线的方法
Jun 30 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
python之MSE、MAE、RMSE的使用
Feb 24 Python
python3读取autocad图形文件.py实例
Jun 05 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
python SOCKET编程基础入门
Feb 27 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 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.MVC的模板标签系统(一)
2006/09/05 PHP
PHP新手上路(三)
2006/10/09 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
解析php中反射的应用
2013/06/18 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP使用redis位图bitMap 实现签到功能
2019/10/08 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
jquery ready函数源代码研究
2009/12/06 Javascript
基于JQuery的动态删除Table表格的行和列的代码
2011/05/12 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
简单谈谈vue的过渡动画(推荐)
2017/10/11 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
从零搭一个自用的前端脚手架的方法步骤
2019/09/23 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
js中实现继承的五种方法
2021/01/25 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
Python3.x和Python2.x的区别介绍
2013/02/12 Python
在Apache服务器上同时运行多个Django程序的方法
2015/07/22 Python
matplotlib subplots 设置总图的标题方法
2018/05/25 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
python全栈知识点总结
2019/07/01 Python
python 装饰器功能与用法案例详解
2020/03/06 Python
scrapy在python爬虫中搭建出错的解决方法
2020/11/22 Python
python实现马丁策略回测3000只股票的实例代码
2021/01/22 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
HR喜欢的自荐信格式
2013/10/08 职场文书
校园演讲稿汇总
2014/05/21 职场文书
党员演讲稿
2014/09/04 职场文书
公司离职证明标准样本
2014/10/05 职场文书