利用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中的25个隐藏特性
Mar 30 Python
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 Python
Python基于二分查找实现求整数平方根的方法
May 12 Python
Python实现快速排序算法及去重的快速排序的简单示例
Jun 26 Python
Python中动态创建类实例的方法
Mar 24 Python
TensorFlow平台下Python实现神经网络
Mar 10 Python
django表单实现下拉框的示例讲解
May 29 Python
Flask模板引擎之Jinja2语法介绍
Jun 26 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 Python
Python中的特殊方法以及应用详解
Sep 20 Python
详解pandas赋值失败问题解决
Nov 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支持多种格式图片上传(支持jpg、png、gif)
2011/11/03 PHP
PHP 面向对象程序设计(oop)学习笔记 (二) - 静态变量的属性和方法及延迟绑定
2014/06/12 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
PHP自带方法验证邮箱是否存在
2016/02/01 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
JS backgroundImage控制
2009/05/19 Javascript
javascript 跳转代码集合
2009/12/03 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
让angularjs支持浏览器自动填表
2014/11/10 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
完美实现仿QQ空间评论回复特效
2015/05/06 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
javascript将DOM节点添加到文档的方法实例分析
2015/08/04 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
实例浅析js的this
2016/12/11 Javascript
JS中微信小程序自定义底部弹出框
2016/12/22 Javascript
基于JavaScript实现弹幕特效
2020/08/27 Javascript
vue element 中的table动态渲染实现(动态表头)
2019/11/21 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
python绘制动态曲线教程
2020/02/24 Python
python对 MySQL 数据库进行增删改查的脚本
2020/10/22 Python
师范生教师实习自我鉴定
2013/09/27 职场文书
公司寄语大全
2014/04/10 职场文书
四风对照检查剖析材料
2014/10/07 职场文书
2015暑假假期总结
2015/07/13 职场文书
Redis数据结构之链表与字典的使用
2021/05/11 Redis
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL