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

利用tshark从pcap中解析http流量

使用tshark解析

安装tshark

apt install tshark
# 测试
tshark -r gitlab.pcap -T fields -Y http -e        tcp.stream -e   http.request.method -e          http.request.uri -e     http.request.version -e    http.request.line -e    http.response.version -e        http.response.code -e   http.response.phrase -e         http.response.line -e   http.file_data 

工具

简易脚本pcap2http.sh
需要安装apt install xmlstarlet gawk

#!/bin/bash
FIELDS=(tcp.streamhttp.request.method http.request.uri http.request.versionhttp.request.linehttp.response.version http.response.code http.response.phrasehttp.response.linehttp.file_data
)
tshark -r $1 -T fields -Y http ${FIELDS[@]/#/-e$IFS} |awk -v FS=$'\t' '
{output = $1 ".http";n = $2 ? 2 : 6if (OUTPUTS[output]) printf("") >> output;else {printf("") > output; OUTPUTS[output] = 1; }printf("%s %s %s\n", $n, $(n+1), $(n+2)) >> output;printf("%s\n", gensub("(\\\\r\\\\n,?)+", "\n", "g", $(n+3))) >> output;if (substr($10,1,1) == "<") {fflush(output);close(output);xmlstarlet = "xmlstarlet fo - >> "output;printf("%s\n", gensub("\\\\n", "\n", "g", $10)) | xmlstarlet;close(xmlstarlet);printf("") >> output;}elseprintf("%s\n", $10) >> output;printf("\n--\n\n") >> output;close(output);
}
'

使用方法

./pcap2http.sh xxx.pcap

相关文章:

  • 如何用gpt快速做好数据分析?
  • [SWPUCTF 2021 新生赛]easy_md5
  • Deepin如何开启与配置SSH实现无公网ip远程连接
  • hivesql的基础知识点
  • Blender使用Rigify和Game Rig Tool基础
  • 【DouYing Desktop】
  • Midjourney新功能介绍:风格参考(Style References)详解
  • 【Springcloud篇】学习笔记十(十七章):Sentinel实现熔断与限流——Hystrix升级
  • Android PMS——ADB命令安装流程(七)
  • Redis常用数据类型--Hash
  • 只用一台服务器部署上线(宝塔面板) 前后端+数据库
  • vue基本理解
  • [网络安全] IIS----WEB服务器
  • wireshark分析数据包:追踪流
  • C语言搭配EasyX实现贪吃蛇小游戏
  • 【面试系列】之二:关于js原型
  • echarts花样作死的坑
  • JavaScript对象详解
  • JAVA并发编程--1.基础概念
  • Material Design
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • React+TypeScript入门
  • Web标准制定过程
  • 读懂package.json -- 依赖管理
  • 给新手的新浪微博 SDK 集成教程【一】
  • 力扣(LeetCode)21
  • 如何实现 font-size 的响应式
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 算法之不定期更新(一)(2018-04-12)
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • (C#)一个最简单的链表类
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (超详细)语音信号处理之特征提取
  • (二)学习JVM —— 垃圾回收机制
  • (二)丶RabbitMQ的六大核心
  • (附源码)计算机毕业设计ssm电影分享网站
  • (六)什么是Vite——热更新时vite、webpack做了什么
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (转载)Google Chrome调试JS
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .form文件_SSM框架文件上传篇
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET简谈设计模式之(单件模式)
  • /etc/sudoer文件配置简析
  • ::
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • @Import注解详解
  • @RequestBody与@ModelAttribute
  • [ vulhub漏洞复现篇 ] Hadoop-yarn-RPC 未授权访问漏洞复现
  • [1204 寻找子串位置] 解题报告
  • [2016.7.Test1] T1 三进制异或
  • [52PJ] Java面向对象笔记(转自52 1510988116)