利用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函数可变参数定义及其参数传递方式实例详解
May 25 Python
python中的全局变量用法分析
Jun 09 Python
在Django的通用视图中处理Context的方法
Jul 21 Python
深入讲解Java编程中类的生命周期
Feb 05 Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 Python
python 日期操作类代码
May 05 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
Apr 27 Python
python 中的9个实用技巧,助你提高开发效率
Aug 30 Python
python如何导出微信公众号文章方法详解
Aug 31 Python
Python grpc超时机制代码示例
Sep 14 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 无极分类(递归)实现代码
2010/01/05 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
详解如何实现Laravel的服务容器的方法示例
2019/04/15 PHP
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
JS获取当前网页大小以及屏幕分辨率等
2014/09/05 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
2016/05/18 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
逻辑表达式中与或非的用法详解
2016/06/06 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
单页面vue引入百度统计的使用方法示例详解
2018/10/13 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python测试mysql写入性能完整实例
2018/01/18 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
python里 super类的工作原理详解
2019/06/19 Python
Python更改pip镜像源的方法示例
2020/12/01 Python
Dower & Hall官网:英国小众轻奢珠宝品牌
2019/01/31 全球购物
美国校服网上商店:French Toast
2019/10/08 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
JSF的标签库有哪些
2012/04/27 面试题
网络技术专业求职信
2014/02/18 职场文书
决心书范文
2014/03/11 职场文书
开业典礼主持词
2014/03/21 职场文书
信用卡工作证明模板
2014/09/14 职场文书
教师个人学习总结
2015/02/11 职场文书
mysql的Buffer Pool存储及原理
2022/04/02 MySQL