当前位置: 首页 > news >正文

python解析wirshark抓包数据

因为工作需要,需要分析wirshark的抓包数据。数据有的是在比特位中。不方便查找。而lua语言又不愿意去学,所以用python解析后,输出日志。帮助分析.

1.tcp分析

from dpkt.tcp import TCP
from scapy.all import *
from datetime import datetime, timedelta
import pytz
import datetime
from datetime import datetimedef main(file_path,tcp_ip,tcp_port):pkts = rdpcap(file_path)for pkt in pkts:if IP in pkt and TCP in pkt:if pkt[IP].dst == tcp_ip and pkt[TCP].dport == tcp_port:# if pkt[IP].dst == "225.0.0.10" and pkt[TCP].dport == 12306 and len(pkt) == 25:if len(pkt.load) == 18:print("*" * 50)print("Time: ", datetime.fromtimestamp(pkt.time), "Second byte: ", pkt[Raw].load[2])main('E:\\abs\\shak\\1.pcapng', "225.0.0.10", 12306)

2.udp分析

from dpkt.ip import IP
from dpkt.udp import UDP
from scapy.all import *
import datetime
from datetime import datetimedef main(file_path,udp_ip,udp_port):pkts = rdpcap(file_path)for pkt in pkts:if IP in pkt and UDP in pkt:if pkt[IP].dst == udp_ip and pkt[UDP].dport == udp_port:if len(pkt.load) == 18:print("*"*50)print("Time: ", datetime.fromtimestamp(pkt.time),"Second byte: ", pkt[Raw].load[2])if pkt[Raw].load[9] == 0x0a:print("*" * 50)# 打印完整的全部数据#print("Time: ", datetime.fromtimestamp(pkt.time),pkt.show())#只打印对应的数据包print("Time: ", datetime.fromtimestamp(pkt.time),pkt.load)
main('E:\\abs\\shak\\1.pcapng',"225.0.0.10",12306)

3.根据比特位取值,保存

from dpkt.ip import IP
from dpkt.udp import UDP
from scapy.all import *
import datetime
from datetime import datetimedef main(file_path,udp_ip,udp_port):pkts = rdpcap(file_path)with open("E:\\abs\\shak\\output.txt", "w") as f:for pkt in pkts:# 过滤ipif IP in pkt and UDP in pkt and pkt[IP].dst == udp_ip and pkt[UDP].dport == udp_port:# 过滤长度if len(pkt.load) == 18:#过滤功能码,同时可以计算某个字节的比特位if pkt[Raw].load[9] == 0x0a:bit_one = (pkt[Raw].load[10] >> 1) & 0x01bit_two = (pkt[Raw].load[10] >> 2) & 0x01bit_three = (pkt[Raw].load[10] >> 3) & 0x01bit_four = (pkt[Raw].load[10] >> 4) & 0x01bit_five = (pkt[Raw].load[10] >> 5) & 0x01bit_six = (pkt[Raw].load[10] >> 6) & 0x01bit_seven = (pkt[Raw].load[10] >> 7) & 0x01data = "Time:" + "\t" + str(datetime.fromtimestamp(pkt.time)) + "\t" + "data:" + str(bit_one)\+" "+str(bit_two)+" "+str(bit_three)+" "+str(bit_four)+" "+str(bit_five)+" "+str(bit_six)\+" "+str(bit_seven)+ "\n"f.write(data)#print("Time: ", datetime.fromtimestamp(pkt.time),pkt.show())print("Time: ", datetime.fromtimestamp(pkt.time),pkt.load)data1 = "Time:"+"\t" +str(datetime.fromtimestamp(pkt.time))+"\t"+"data:"+str(pkt.load)+"\n"f.write(data1)

相关文章:

  • electronjs入门-编辑器应用程序
  • 高并发架构设计(三大利器:缓存、限流和降级)
  • DAY02 c++对c的扩展
  • 二维码在区域巡查中的应用:隐患上报、巡逻巡更、管线巡查
  • 数据结构--图解单链表
  • 响应系统的作用与实现
  • 攻防世界-web-unseping
  • 如何设计短域名系统
  • V-for中 key 值的作用,如何选择key
  • 《洛谷深入浅出进阶篇》P3397 地毯————二维差分
  • 部署百川大语言模型Baichuan2
  • 经验篇:大数据常用工具集合
  • k8s之HPA
  • 解锁内存之谜:从C到Python、Java和Go的内存管理对比
  • 基于安卓android微信小程序的装修家装小程序
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • input的行数自动增减
  • LeetCode29.两数相除 JavaScript
  • spring boot下thymeleaf全局静态变量配置
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 记一次和乔布斯合作最难忘的经历
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 使用 Docker 部署 Spring Boot项目
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微信小程序设置上一页数据
  • 小李飞刀:SQL题目刷起来!
  • C# - 为值类型重定义相等性
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​插件化DPI在商用WIFI中的价值
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $NOIp2018$劝退记
  • (C)一些题4
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (顺序)容器的好伴侣 --- 容器适配器
  • (转)Sql Server 保留几位小数的两种做法
  • (转载)OpenStack Hacker养成指南
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .[backups@airmail.cc].faust勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET CORE Aws S3 使用
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • /dev下添加设备节点的方法步骤(通过device_create)
  • :中兴通讯为何成功
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [20160902]rm -rf的惨案.txt
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [AutoSar]BSW_Memory_Stack_004 创建一个简单NV block并调试
  • [BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn