使用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的问题

目录
相关文章
|
1月前
|
Web App开发 网络协议 数据可视化
tcpdump 和 wireshark 抓包工具 ,介绍、安装、命令使用。 详解三次握手、四次挥手。两个结合使用,会更好分析报文
这篇文章详细介绍了网络抓包工具tcpdump和Wireshark的使用,包括安装、命令选项、过滤器语法,以及如何通过分析TCP的三次握手和四次挥手来理解网络通信细节。
330 1
|
2月前
|
监控 网络协议 安全
|
2月前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
165 73
|
25天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
2月前
|
存储 弹性计算 测试技术
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
阿里云服务器ECS实例可以分为多种实例规格族。根据CPU、内存等配置,一种实例规格族又分为多种实例规格。而实例规格又包含vCPU、处理器、内存、vTPM、本地存储、网络带宽、网络收发包PPS、连接数、弹性网卡、云盘带宽、云盘IOPS等指标,本文为大家详细介绍实例规格的这些指标,以供大家了解和选择。
152 14
阿里云服务器实例规格vCPU、内存、网络带宽、网络收发包PPS、连接数等性能指标详解
|
25天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
2月前
|
网络协议 网络虚拟化
接收网络包的过程——从硬件网卡解析到IP
【9月更文挑战第18天】这段内容详细描述了网络包接收过程中机制。当网络包触发中断后,内核处理完这批网络包,会进入主动轮询模式,持续处理后续到来的包,直至处理间隙返回其他任务,从而减少中断次数,提高处理效率。此机制涉及网卡驱动初始化时注册轮询函数,通过软中断触发后续处理,并逐步深入内核网络协议栈,最终到达TCP层。整个接收流程分为多个层次,包括DMA技术存入Ring Buffer、中断通知CPU、软中断处理、以及进入内核网络协议栈等多个步骤。
|
6月前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
186 0
|
6月前
|
网络协议 Linux
Linux命令(120)之tcpdump
Linux命令(120)之tcpdump
88 0
|
Linux
linux下用tcpdump抓包
linux下用tcpdump抓包
下一篇
无影云桌面