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

目录
相关文章
|
8天前
|
算法 数据可视化 图形学
网络通信系统的voronoi图显示与能耗分析matlab仿真
在MATLAB2022a中,该程序模拟了两层基站网络,使用泊松分布随机生成Macro和Micro基站,并构建Voronoi图。它计算每个用户的信号强度,选择最强连接,并分析SINR和数据速率。程序还涉及能耗计算,包括传输、接收、处理和空闲能耗的分析。Voronoi图帮助可视化网络连接和优化能源效率。
|
6天前
|
网络协议 安全 Python
python实现对网络流量分析
Python提供多种工具进行网络流量分析,如`pcap`库用于实时捕包,`dpkt`库用于解码数据包,以及`Scapy`库进行高级分析。
|
15天前
|
监控 网络协议 安全
Socket网络编程中的常见应用场景与实例分析
Socket网络编程中的常见应用场景与实例分析
|
14天前
|
安全 算法 Java
扩散模型在社交网络分析中的实际应用案例
扩散模型在社交网络分析中的实际应用案例
|
17天前
|
JSON 数据可视化 API
技术心得:如何用Python和API收集与分析网络数据?
技术心得:如何用Python和API收集与分析网络数据?
20 2
|
10天前
|
运维 网络协议 安全
Wireshark网络抓包工具入门指南
Wireshark是一款功能强大的开源网络协议分析器,它允许用户捕获和查看网络接口上传输的详细数据包信息。无论是网络故障排查、安全分析还是开发调试,Wireshark都能提供深入的网络洞察。本文旨在为初学者提供Wireshark的基本使用方法,帮助快速掌握网络抓包技巧。
|
14天前
|
Java 物联网 应用服务中间件
Socket网络编程中的常见应用场景与实例分析
Socket网络编程中的常见应用场景与实例分析
|
1月前
|
网络协议 算法 Linux
【嵌入式软件工程师面经】Linux网络编程Socket
【嵌入式软件工程师面经】Linux网络编程Socket
49 1
|
3天前
|
Linux
linux网络统计信息和端口占用情况基本语法
linux网络统计信息和端口占用情况基本语法
|
11天前
|
网络协议 安全 Ubuntu
7 个有用的免费 Linux 网络隧道
【7月更文挑战第4天】
47 0
7 个有用的免费 Linux 网络隧道