tcpdump+wireshark抓包分析

某天,梳理kafka每个Topic流量,其中有个Topic有流量,但是业务负责人不知道从哪台机器生产的消息。我们知道server端IP+端口,Topic名字也知道,现在需要查找生产IP.此为背景。

首先,在kafka的server端使用tcp抓包,并记录存到文件中。然后scp到本地使用wireshark分析。‘

TCP 知识点

一个TCP连接需要四个元组来表示是同一个连接(src_ip, src_port, dst_ip, dst_port)准确说是五元组,还有一个是协议。但因为这里只是说TCP协议,所以,这里我只说四元组。

tcp头格式

Seq (S ,Sequence Number是包的序号,用于解决包乱序的问题)

标志位 (tcp flag)

  • C Reduced
  • E ECN Echo
  • S (Syn Synchronize Sequence Numbers 用于同步seq序列号)
  • A (ACK Acknowledgement Number就是ACK——用于确认收到,用于解决不丢包的问题)
  • R (Reset)
  • P (Push)
  • F (Fin )

三次握手,四次挥手

 

  • 对于建链接的3次握手,主要是要初始化Sequence Number 的初始值。通信的双方要互相通知对方自己的初始化的Sequence Number(缩写为ISN:Inital Sequence Number)——所以叫SYN,全称Synchronize Sequence Numbers。也就上图中的 x 和 y。这个号要作为以后的数据通信的序号,以保证应用层接收到的数据不会因为网络上的传输的问题而乱序(TCP会用这个序号来拼接数据)。

  • 对于4次挥手,其实你仔细看是2次,因为TCP是全双工的,所以,发送方和接收方都需要Fin和Ack。只不过,有一方是被动的,所以看上去就成了所谓的4次挥手。如果两边同时断连接,那就会就进入到CLOSING状态,然后到达TIME_WAIT状态。

下图两边同时断开连接

Tcpdump抓包过程

tcpdump -i eth0 -w - src host 10.138.83.150 and dst port 2181 | strings

tcpdump -i eth0 -c 1000000 -nn port 9092 -w 9092.pcap

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值