利用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的循环体中使用else语句的方法
Mar 30 Python
Python工程师面试题 与Python基础语法相关
Jan 14 Python
Jupyter notebook远程访问服务器的方法
May 24 Python
python3监控CentOS磁盘空间脚本
Jun 21 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python如何实现一个刷网页小程序
Nov 27 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Python打包工具PyInstaller的安装与pycharm配置支持PyInstaller详细方法
Feb 27 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
Feb 28 Python
python 基于Apscheduler实现定时任务
Dec 15 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 Python
python使用shell脚本创建kafka连接器
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
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
PHP+AJAX实现投票功能的方法
2015/09/28 PHP
10个对初学者非常有用的PHP技巧
2016/04/06 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP设计模式之工厂模式定义与用法详解
2018/04/03 PHP
JavaScript实现动态增加文件域表单
2009/02/12 Javascript
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
js展开闭合效果演示代码
2013/07/24 Javascript
js特殊字符过滤的示例代码
2014/03/05 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
2014/12/31 Javascript
JavaScript实现表格点击排序的方法
2015/05/11 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
Vue3.0的优化总结
2020/10/16 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
[01:21]2018DOTA2亚洲邀请赛4.5采访 打DOTA2也能有女朋友?
2018/04/06 DOTA
python实现的阳历转阴历(农历)算法
2014/04/25 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
Python代码块及缓存机制原理详解
2019/12/13 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
伊利莎白雅顿官网:Elizabeth Arden
2016/10/10 全球购物
Expedia印度:您的一站式在线旅游网站
2017/08/24 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
Big Green Smile法国:领先的英国有机和天然产品在线商店
2021/01/02 全球购物
如何将字串String转换成整数int
2015/02/21 面试题
考试退步检讨书
2014/01/15 职场文书
2014年情人节活动方案
2014/02/16 职场文书
护士找工作求职信
2014/07/02 职场文书
经典毕业生求职信
2014/07/12 职场文书
2014年医生工作总结
2014/11/21 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
python 实现定时任务的四种方式
2021/04/01 Python
MySQL 如何限制一张表的记录数
2021/09/14 MySQL