Tcpdump抓包与Wireshark 报文分析

3 篇文章 0 订阅
2 篇文章 0 订阅

目录

1.目前主流抓包工具使用 

2. wireshark报文详解

 


1.目前主流抓包工具使用 

1.1  tcpdump   网络数据采集分析工具的常规使用

TCPDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

抓包环境设计思路:

win10 (客户端)使用telnet 来连接Centos7(服务端)的1234端口,同时在服务器上使用tcpdump来抓包,服务器端提前开启1234端口的监听。建议提前关闭防火墙或者设置好策略。

环境准备:

win10(客户端)

由于win10默认不装telnet,所以先安装telnet客户端。

telnet使用明文协议与服务端建立连接,常用于调试网络设备以及网络端口连通性测试。

Centos7 (服务器)

需要检查是否安装了tcpdump(抓包软件)

是否安装ncat / nc (在linux下轻松实现tcp/udp端口的侦听)

[root@WZY123 ~]# whereis tcpdump
tcpdump:[root@WZY123 ~]# whereis nc
nc:[root@WZY123 ~]# 

这两款软件默认都没有安装,需要安装一下。命令如下:

yum -y install tcpdump nc

安装特别慢的需要换一个阿里云的yum源。这里不做过多赘述。

使用nc命令在服务器上开启1234的端口监听

[root@WZY123 ~]# nc -l 1234

再打开一个终端窗口,来测试端口是否开启了监听

[root@WZY123 ~]# ss -tunlp | grep 1234
tcp    LISTEN     0      10        *:1234                  *:*                   users:(("nc",pid=1605,fd=4))
tcp    LISTEN     0      10     [::]:1234               [::]:*                   users:(("nc",pid=1605,fd=3))
[root@WZY123 ~]# 

可以看到,1234端口的监听已经开启。第一个是ipv4的,第二个是ipv6的。

接下来对服务器进行抓包,同时用客户端的telnet去连接

在此之前,我需要确认服务器上抓包所监听的网卡

 检查防火墙的状态和防火墙filter表,如果防火墙是开启状态需要添加一条入站策略,放通本机的1234端口。允许任意主机访问。这里为了方便抓包,直接关闭防火墙测试

[root@WZY123 ~]# systemctl status firewalld   //检查防火墙状态
[root@WZY123 ~]# iptables -L    //检查防火墙(入站,转发,出站策略)
[root@WZY123 ~]# systemctl stop firewalld    //关闭防火墙,进行抓包测试

只抓网卡ens33的tcp协议包,并且主机是192.168.202.133端口是1234的数据报文,将抓包文件保存到家目录下命名为tcpdump_01.pcap文件,方便后期分析

抓包命令如下:

[root@WZY123 ~]# tcpdump tcp -i ens33 and host 192.168.202.133 and port 1234 -w ~/tcpdump_01.pcap

与此同时客户端使用telnet命令进行连接服务器

 上图按下回车后,就开始抓包了。抓包完成后,需要把Centos7上的tcpdump_01.pcap文件。下载到windows上,通过wireshark就行数据包分析。tcpdump抓包流程到此结束。

1.2 wireshark 可视化界面抓包(略)

2. wireshark报文详解

分别在启用防火墙(策略未放通)和关闭防火墙的两种状态下进行了抓包

下图为启用防火墙状态下抓到的数据包

 可以看到抓到的包是清一色的黑底红字,我们来看一下wireshark的着色规则

黑色数据包简单的理解就是校验和错误。所以我们评估一个网络是否稳定流畅主要就是看抓到的包中红和黑数据包在所有的数据包中所占的比例,比例越小,网络越优越稳定。

下图为关闭防火墙下抓的包

 关于wireshark我们常常分析的主要是网络层中的数据包,这里以网络层为例,进行报文的分析

下图为IP数据报的格式

我们会在wireshark的报文中找到与之一一对应的关系。关于上图的解析可以参考

IP协议数据报格式详解  

下面这张图是对wireshark报文各个字段的分析(重点)

 因为telnet是明文传输,所以我们很容易的可以从抓到的数据包中读出客户端给服务端传输的内容

客户端给服务端发送了一个a字符,由于数据最小表示单位为字节。相当于占用1个字节的大小 。

制作不易,欢迎大佬们点赞评论,一起成长。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值