TCP抓包和数据包分析

这篇具有很好参考价值的文章主要介绍了TCP抓包和数据包分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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)

tcpdump分析数据包,网络,网络协议

 博主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 

tcpdump分析数据包,网络,网络协议

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

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

tcpdump分析数据包,网络,网络协议

(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 

tcpdump分析数据包,网络,网络协议

(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三次握手过程

tcpdump分析数据包,网络,网络协议

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

tcpdump分析数据包,网络,网络协议

 文章来源地址https://www.toymoban.com/news/detail-639982.html

到了这里,关于TCP抓包和数据包分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实践tcpdump命令,成为网络数据抓包高手

    大家好,又见面了,我是沐风晓月,本文是专栏【linux基本功-基础命令实战】的第57篇文章。 专栏地址:[linux基本功-基础命令专栏] , 此专栏是沐风晓月对Linux常用命令的汇总,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。 如果文章有什么需要改进的地方还请

    2024年02月03日
    浏览(38)
  • 【抓包分析tcp协议】

    1、网络监听:TcpDump + WireShark(适用偏底层的协议分析) 2、代理Proxy(适用偏高层的协议分析,如http) ① 推荐工具:手工测试charles[全平台]、安全测试burpsuite[全平台java] ② 自动化测试:mitmproxy ③ 其他代理:fiddler[仅windows、AnyProxy[全平台] 3、协议客户端工具:curl、postman

    2024年02月07日
    浏览(42)
  • 抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy 分析工具:curl,postman,chrome Devtool tcpdump tcpdump 是一款将网络中传送

    2024年02月19日
    浏览(32)
  • 接口协议之抓包分析 TCP 协议

    TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。 环境准备 对接口测试工具进行分类,可以如下几类: 网络嗅探工具:tcpdump,wireshark 代理工具:fiddler,charles,anyproxyburpsuite,mitmproxy 分析工具:curl,postman,chrome Devtool 抓包分析TCP协议 tcpd

    2023年04月08日
    浏览(37)
  • 数据链路层(MAC)、网络层(IP)、传输层(TCP/UDP)抓包分析

    OSI模型(OSI model),开放式系统互联通信参考模型(英语:Open System Interconnection Reference Model,缩写为 OSI)。 抓包通常抓取数据链路层、网络层、传输层的包。 OSI主要关注5层,数据从上至下逐级封装,加入每层的头部信息,在物理层转换为比特率发送; 接收端使用逆向顺序

    2024年02月16日
    浏览(53)
  • 使用Wireshark抓包分析TCP协议

    wireshark数据包详细栏每个字段对应的分层。 我们点开这个字段,从该字段中可以看到相邻两个设备的MAC地址 本层主要负责将TCP层传输下来的数据加上目标地址和源地址。 这一层用到了TCP协议 tcp包头 每个字段对应的TCP包头 TCP三次握手示意图 第一次握手 :客户端向服务器发

    2023年04月13日
    浏览(45)
  • Socket TCP/IP协议数据传输过程中的粘包和分包问题

    一:通过图解法来描述一下分包和粘包,这样客户更清晰直观的了解: 下面对上面的图进行解释: 1.正常情况:如果Socket Client 发送的数据包,在Socket Server端也是一个一个完整接收的,那个就不会出现粘包和分包情况,数据正常读取。 2.粘包情况:Socket Client发送的数据包,

    2024年02月12日
    浏览(44)
  • 使用WireShark抓包分析TCP_IP协议

    TCP/IP 协议 是一组用于互联网通信的协议。它由两个主要协议组成:传输控制协议( TCP )和互联网协议( IP )。TCP/IP协议是互联网上最常用的协议之一,它使得不同类型的计算机和网络设备能够相互通信。 TCP负责将数据分割成数据包,并确保它们在网络上的传输。 IP负责将

    2024年02月09日
    浏览(63)
  • 基于Wireshark的ARP协议分析和IP报文、ICMP报文的分析|网络数据抓包|课程设计|traceroute|ping|

    前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 https://blog.csdn.net/yu_cblog/category_12379430.html?spm=1001.2014.3001.5482 目录 ​编辑前言 Wireshark软

    2024年02月10日
    浏览(49)
  • Wireshark抓包分析TCP协议:三次握手和四次挥手

    面试中我们经常会被问到TCP协议的三次握手和四次挥手的过程,为什么总喜欢问这个问题呢? 其实我们平时使用的很多协议都是应用层协议,比如HTTP协议,https协议,DNS协议,FTP协议等;而应用层协议都是要基于传输层的两个协议之上的,也就是TCP协议和UDP协议。我们在使用

    2024年01月21日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包