使用tcpdump+wireshark抓包分析网络数据包

简介: 最近和学弟在调试一个GPRS通信模块,需求是通过GPRS模块通过http协议发送数据到服务器,但是http协议一直失败,服务器返回400,通过查询http状态码得知,http400错误是请求无效,因为GPRS模块没有实现http协议的封装,需要在TCP协议的基础上,手动拼装http格式的报文.

最近和学弟在调试一个GPRS通信模块,需求是通过GPRS模块通过http协议发送数据到服务器,但是http协议一直失败,服务器返回400,通过查询http状态码得知,http400错误是请求无效,因为GPRS模块没有实现http协议的封装,需要在TCP协议的基础上,手动拼装http格式的报文.所以初步猜测是http协议格式错误导致的.

这时候,最简单有效的调错方式就是通过抓包分析,查看数据格式,然后修改.但是在GPRS模块上没法安装抓包工具,只能在服务器上抓包,服务器是centos的,虽然有tcpdump工具,但是没有界面,没法具体分析数据包.tcpdump
直接使用tcpdump抓到的数据包,根本没法分析好不.

在windows上,有wireshark这个工具,可以很方便的分析网络数据包,这个软件有多牛鼻就不用多说了,所有经过网卡数据都能抓到,配合图形界面,可以很方便的查看分析数据.不知能查看应用层协议的数据,网络中的五层协议都能查看.
wireshark
wireshark
有没有办法把tcpdump和wireshark这两个软件结合起来使用呢???
办法当然是有的,把tcpdump抓取的数据转存文件,然后用wireshark打开文件,分析数据.

1.开启tcpdump抓包,并将结果转存为文件
tcpdump tcp -s 0 port 80 -w ./http.cap

说一下这几个参数
tcp是指定抓取那种协议的数据,因为我们要抓取http协议,但是tcp不能指定http协议,但是http协议是基于TCP协议的,所以抓取TCP协议数据.
-s 0 tcpdump 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
port 80 我的服务器监听的80端口,所以只抓取80端口的数据.
-w ./http.cap 指定tcpdump转存数据时的文件 ./http.cap是当前目录下的http.cap文件

  1. 发起请求

在终端中使用 ctrl+c组合键结束抓包,然后会在当前目录下生成一个http.cap文件
http.cap

3.把文件下载下来,使用tcpdump分析数据

在wireshark中,通过文件>打开 找到从服务器下载的http.cap文件,并打开

到这已经成功打开了,剩下的就是分析数据包了
wireshark
在协议http的那一行右键,选择追踪流,然后选择http
http

到这,整个抓包就完成了,是不是很简单呢

经过抓包分析,终于解决了http400的问题

目录
打赏
0
0
0
0
16
分享
相关文章
Deepseek 3FS解读与源码分析(2):网络通信模块分析
2025年2月28日,DeepSeek 正式开源其颠覆性文件系统Fire-Flyer 3FS(以下简称3FS),重新定义了分布式存储的性能边界。本文基于DeepSeek发表的技术报告与开源代码,深度解析 3FS 网络通信模块的核心设计及其对AI基础设施的革新意义。
Deepseek 3FS解读与源码分析(2):网络通信模块分析
【Azure K8S | AKS】在AKS的节点中抓取目标POD的网络包方法分享
在AKS中遇到复杂网络问题时,可通过以下步骤进入特定POD抓取网络包进行分析:1. 使用`kubectl get pods`确认Pod所在Node;2. 通过`kubectl node-shell`登录Node;3. 使用`crictl ps`找到Pod的Container ID;4. 获取PID并使用`nsenter`进入Pod的网络空间;5. 在`/var/tmp`目录下使用`tcpdump`抓包。完成后按Ctrl+C停止抓包。
44 12
浅析Kismet:无线网络监测与分析工具
Kismet是一款开源的无线网络监测和入侵检测系统(IDS),支持Wi-Fi、Bluetooth、ZigBee等协议,具备被动监听、实时数据分析、地理定位等功能。广泛应用于安全审计、网络优化和频谱管理。本文介绍其安装配置、基本操作及高级应用技巧,帮助用户掌握这一强大的无线网络安全工具。
180 9
浅析Kismet:无线网络监测与分析工具
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
552 13
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
297 0
|
10月前
|
Linux命令(120)之tcpdump
Linux命令(120)之tcpdump
134 0
linux tcpdump 使用小结(二)
linux tcpdump 使用小结(二)
68 1

热门文章

最新文章