TCP抓包和数据包分析

article/2025/8/16 21:42:21

tcpdump是Linux系统下的一款抓包命令集,工作原理是基于网卡抓取流动在网卡上的数据包。在Linux系统中由于tcpdump命令的简单和强大,我们一般直接使用tcpdump命令来抓取数据包。保存之后,拖下来在wireshark中分析

一、TCP数据包抓取

tcpdump常用参数:
-c:表示要抓取的包数量,比如-c 100表示我要抓取100个满足条件的包。
-i:表示指定对哪个网卡接口进行抓包,比如-i eth0,表示对eth0这个网卡进行抓包
-n:不对具体ip地址进行域名解析,直接显示ip地址
-nn:不对具体ip进行域名解析,并且端口号也不显示服务的名称,直接显示数字
-D:列出可用于抓包的接口。将会列出接口的数值编号和接口名,它们都可以用于"-i"后。
-w:将抓包数据输出到文件中而不是打印到屏幕上。
以下这两个参数:可作抓包的时候打印出信息,作为参考,毕竟我们要在wireshark分析的
-XX:输出数据包的头部数据。
-vvv:打印和分析的时候,产生非常详细的输出

1、环境

博主这边,BMC(Linux系统)中有一个Client客户端,简称BMCClient,安卓卡(安卓系统)中有一个Server端,简称CardServer,BMCClient和CardServer基于TCP连接.

2、情景介绍和逻辑分析

如果出现网络不稳定或者网络丢包等情况,就会影响BMCClient和CardServer之间收发消息,可能存在BMCClient发送的消息,CardServer程序未接收到;也可能是CardServer程序发送的消息,BMCClient程序未接收到。这时,就需要两端抓包分析

3、抓包命令

根据BMC和安卓卡的网卡,指定网卡抓包

BMC中查询网卡的方法:ip addr (或者ifconfig)

 博主BMC中使用的网卡是br0,因此抓包抓取的是br0网卡的

(1)、抓取BMC tcp包 (或者.pcap)

tcpdump -i br0 -w /home/bmctest.cap   BMC tcp包 (或者.pcap)

(2)、抓取安卓卡 tcp包

tcpdump -i eth1 -w /home/cardtest.cap

(3)、其他常用抓包命令

a、抓取所有该网卡和该IP之间,收到的数据,src表示服务器收到的数据,如果该参数缺省,默认抓取所有数据
tcpdump -i eth0 src host 192.39.45.66

b、抓取所有该网卡和该IP之间,收到的数据,dst表示服务器发出去的数据,如果该参数缺省,默认抓取所有数据

tcpdump -i eth0 dst host 192.39.45.66

c、查看8080端口号的会话数据包,port表示端口号,后面比如跟8080。-n表示不对具体ip地址做域名解析,直接显示会话两边的具体ip地址

tcpdump -n -i eth0 port 8080 and host 192.39.45.66 

d、一条完整的常用抓包命令

tcpdump -c 10 -nn -i eth0 tcp dst port 8080 and host 192.39.45.66 -w /home/xxx/MyTest.pcap

二、使用wireshark工具分析数据包

TCP的状态FLAGS字段状态

  1. SYN表示建立连接,
  2. FIN表示关闭连接,
  3. ACK表示响应,
  4. PSH表示有 DATA数据传输,
  5. RST表示连接重置

常用筛选方法使用示例如下:

1、根据ip筛选
IP源地址(Source):可以理解为发送方的IP
IP目的地址(Destination):可以理解为接收方的IP

(1)、筛选IP源地址为5.5.13.165的数据包---------------------- ip.src==5.5.13.165 

(2)、筛选IP目的地址为 5.5.13.81的数据包---------------------- ip.dst == 5.5.13.81 

一般看PSH状态的,可以看到传输的数据

(3)、筛选5.5.13.165 到 5.5.13.81的数据包---------------------- ip.src==5.5.13.165  && ip.dst == 5.5.13.81  

(4)、筛选IP为5.5.13.81的数据包---------------------- ip.addr==5.5.13.81

2、根据port筛选
TCP源端口:可以理解为发送方的端口
TCP目的端口:可以理解为接收方的端口

(1)、筛选TCP源端口为10302的数据包----------------------tcp.srcport==10302 

(2)、筛选TCP目的端口为16678的数据包----------------------tcp.dstport == 16678 

(3)、筛选TCP端口为10302的数据包----------------------tcp.port==10302 

3、 根据目的ip和目的端口筛选数据包----------------------ip.dst == 5.5.13.165 && tcp.dstport==10302

4、筛选mac地址为04:f9:38:ad:13:26的数据包----------------------eth.src == 04:f9:38:ad:13:26

三、TCP三次握手过程

四、丢包示例,丢包时,比较明显的会出现很多TCP Dup ACK

 


http://chatgpt.dhexx.cn/article/dRwZWwsj.shtml

相关文章

数据包抓取

如何抓取网络数据包-抓包工具Wireshark 作者:vich 发布于 2010-2-25 21:20 评论(2) 有7599人阅读 Wireshark,(前称Ethereal)是世界上最流行的网络封包分析软件。它具有丰富而强大的功能,并且在大多数计算平台,包括Wind…

一文包你学会网络数据抓包

本篇将图文并茂教你如何使用抓包工具,并在文章最后教大家如何偷取FTP的用户名密码。 一、安装 本文为大家介绍一个非常好用的抓包工具,科来。 下载地址: http://www.colasoft.com.cn/ 下载科莱 下载完毕,双击直接下一步即可安…

android应用安全——(数据抓包)跟踪监控android数据包

web开发中Chrome、IE、firefox等浏览器都自带提供了插件帮助开发者跟踪http数据,在手机客户端怎么实现http数据抓包呢?Fiddler可以实现真机调试抓包。Fiddler支持Any Browser,Any System,Any Platform。 今天,向大家介绍 Fiddler 如何抓取 An…

抓包工具Fiddler的使用(2):Fiddler抓包之后的数据分析

1. 首先分析Fiddler抓取的一个Android端的记录(如果使用fiddler访问PC端,因为fiddler默认是IE浏览器,所以应该使用的是IE,如果使用Firefox等,应该需要先设置代理,具体设置原理,同Android设备&am…

scapy 嗅探数据包(wireshark数据抓包)

scapy 嗅探数据包(wireshark数据抓包) 简介:Scapy 是一个用 python 编写的强大且通用的数据包操作工具。使用 scapy,用户将能够发送、嗅探、剖析和伪造网络数据包。Scapy 还能够将嗅探到的数据包存储在 pcap 文件中。使用 scapy&a…

网络数据包的抓包(解析数据包内容)

使用原始套接字接收(recvfrom/reav/read等)时,可以接收到完整的数据包, 数据组装/拆解过程 数字代表上层协议的类型完整数据包为: 传输数据包内容 链路层包头 网络层包头 传输层包头 应用…

手机APP数据包抓包分析

目录 一、工具 二、创建模拟器 1.打开雷电多开器,新建一个模拟器 2.启动创建好的模拟器 三、安装登录拼夕夕 1.安装 2.登录 四、抓包工具Charls 1.打开charls 2.模拟器上未安装charls证书时,什么数据包都抓不到 3.设置代理 ​4.设置代理&am…

简单的数据抓包方法

抓包工具 前提:抓取的数据包是从网卡设备当中抓取的 1.win下 wireshark 2.linux下 tcpdump 命令:tcpdump -i any port [端口] -s 0 -w [文件名] 使用root用户抓包 3.例子 TCP客户端和服务端进行通信 进行抓包 linux下111.dat文件的内容 把111.d…

wireshark抓取网络数据包

目录 一.运行程序 二.运行wireshark抓包 总结 一.运行程序 两台电脑连接同一网络,运行疯狂聊天室程序,输入相同的房间号 二.运行wireshark抓包 过滤 可查看具体信息 总结 此程序网络连接采用的时UDP,发送消息的方式是广播。可以看到UDP传输…

App数据抓取(抓包工具使用)

文章目录 fiddler使用移动端mitmproxymitmdump基础实战使用Python抓取数据小结fiddler使用 基础篇介绍了如何设置fiddler做代理,这里继续介绍使用方法在file中可以选择开始/停止抓包可以选中左侧的数据包save为.saz格式 保存了自然也可以Load Archive,在File中也可以import/e…

网络数据抓包 整理总结

在开发过程中,我们经常会碰到需要抓取网络接口请求数据来进行调试或者接口对接的情况,有时候某些金融行业的前端或者APP过检也会对APP进行抓包分析,所以在这里简单做一下整理,方便日后复习。 一、常用的抓包工具 抓包工具有很多…

手机数据抓包的N种方法

在对移动数据业务进行质量指标分析的过程中,需要在手机终端侧进行抓包分析。由于Android系统是当前的主流系统之一,因而实现在Android系统手机端进行抓包分析对移动数据业务质量指标分析具有重要作用。 方法一:Tcpdump命令抓包 工具准备&a…

matlab调用函数出nan,求助:Matlab的fmincon函数出现RCOND = NaN

输出为: Max Line search Directional First-order Iter F-count f(x) constraint steplength derivative optimality Procedure 0 14 -0.892004 Inf Infeasible start point Warnin…

Matlab求解规划问题之 fmincon函数

Matlab规划问题之 fmincon函数 常用来求解单决策函数的规划问题 语法:[X,FVAL] fmincon(fun,x0,a,b,Aeq,Beq,LB,UB,nonlcon,options); X 为最终解 , FVAL为最终解对应的函数值 注意:求最大值时,结果FVAL需要取反 fun …

fmincon函数求极值

matlab中的函数fmincon可用于求可以求取多元函数的极值,其约束包括五种:1、线性不等式 约束;2、线性等式约束;3、变量约束;4、非线性不等式约束;5、非线性等式约束。 其形式如下: x fmincon(…

matlab的fmincon函数如何传入额外参数或数据?

文章目录 一、关于matlab的fmincon函数二、使用匿名函数句柄传入额外参数或数据例子 一、关于matlab的fmincon函数 fmincon是matlab的带约束的非线性优化模型的求解函数,可以求解优化模型的局部最优解。带约束的非线性优化模型可以描述为:   fmincon函…

python调用matlab 性能_Python调用MATLAB实现fmincon函数

motivation: 1.要实现“符号几何规划”的功能,使用MATLAB自带的fmincon函数来实现 2.工程的代码是通过Python来完成的,需要Python调用MATLAB实现 思路: 1.使用Python直接生成约束条件,目标函数,初始值等函数…

轨迹跟踪求解Fmincon函数(2)

1.Fmincon函数介绍 在matlab中,fmincon函数可以求解带约束的非线性多变量函数(Constrained nonlinear multivariable function)的最小值,即可以用来求解非线性规划问题 matlab中,非线性规划模型的写法如下 2.基本语法 [x,fval]fmincon(fun,x0,A,b,Aeq…

matlab中fmincon函数求最大值,matlab fmincon函数用法

满意答案 ufm42724 2013.09.07 采纳率:55% 等级:12 已帮助:8663人 你的代码中调用fmincon函数中total1不应该是myfun目标函数吗,后面的那个total1应该是mycon为非线性约束 function f myfun(x) f 0.192457*1e-4*(x(2)2)*x(1)…

Matlab fmincon函数

文章目录 函数功能函数表达及用法**trust-region-reflective算法的说明 (梯度)****Hessian矩阵应用说明** 返回值 函数功能 获取约束的非线性多变量函数的最小值 样式: 其中,c(x), ceq(x) 分别表示非线性的约束条件,而A, Aeq表示的是线性约束。 函数表…