Wireshark抓包实验[通俗易懂]

2022-10-04 15:55:15 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

Wireshark抓包实验

1.1 学习Wireshark工具的基本操作

学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置 Capture Filter;捕获后设置 Display Filter。

1.2 PING命令的网络包捕获分析

PING命令是基于ICMP协议而工作的,发送4个包,正常返回四个包。以主机210.31.40.41为例,主要实验步骤为:

(1)设置“捕获过滤”:在 Capture Filter 中填写 host 210.31.40.41;

(2)开始抓包;

(3)在 DOS 下执行 PING 命令;

(4)停止抓包。

(5)设置“显示过滤”: IP.Addr=210.31.40.41

(6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带 号的内容。

(7)针对重要内容截屏,并解析协议字段中的内容,一并写入 WORD 文档中。

​ 通过简单的分析我们可以看到,Ping命令使用ICMP协议,每发送一个包到210.31.40.41后都会收到一个包,一共发送了四个包,收到四个包如所示。分析其中的一个包,可以看到其类型长度为8,数据长度为32byte,见图

1.3 TRACERT 命令数据捕获

观察路由跳步过程。分别自行选择校内外 2 个目标主机。比如,

(1)校内:tracert 210.31.32.8

首先,在执行tracert命令之前,先在Wireshark中过滤选择出210.31.32.8的相关请求。之后,win r打开cmd界面执行tracert命令

​ 截获到的数据如下图,

通过对该抓包结果的简单分析,可以看出,抓到的协议类型主要有两种即ICMP和DNS协议,选择不同类型的协议来查看其具体内容。

DNS协议:

通过上图简单的分析查看可以得知,DNS协议从10.10.215.246到210.31.32.8,同时包含了UDP协议,源端口为61149,目标端口为53。DNS对域名210.31.40.41进行了84次标准查询,可以看到在DNS的事务ID为:0xc39f,在DNS服务器中的查询结果在第185行。

ICMP协议:

ICMP的内容在之前已经分析过了,在这里不在赘述,从图中对比可以看到,data的数据长度变为了64bytes。

(2)校外:tracert www.sogou.com

​ 通过简单的分析可以看出,在对搜狗进行抓包时出现了两种协议即ICMP和NBNS协议,其中NBNS协议是 TCP/IP 上的 NetBIOS (NetBT) 协议族的一部分,它在基于 NetBIOS 名称访问的网络上提供主机名和地址映射方法。

1.4 端口扫描数据捕获与分析

(1)各组自行下载和安装某个端口扫描工具,比如 NMAP、SUPERSCAN、SCANPORT、

SSPORT、TCPVIEW。

(2)扫描对方的主机,获得开放的端口号。捕获其所有相关信息和协议内容。显示过滤举例:

在这里,使用Zenmap对本机进行端口扫描,扫描结果如下图。

可以看到,本机开放了6个端口,不同端口提供不同的服务,可以看到其中的80端口为Http服务,说明在本机上部署了自己的网站,用80作为端口。

查看Wireshark对该端口的抓包情况

从图中看到两种协议,TCP和HTTP,这也印证了我之前部署网站的说法。

(3)关闭某一开放的端口,重新扫描,观察捕获效果。

​ 关闭端口后进行扫描,可以看到被关闭的端口扫描不到了。

1.5 FTP 协议包捕获与分析

登录FTP 服务器:ftp.scene.org,重点捕获其 3 个关键过程:

(1)FTP 服务器的登录

捕获 USER 和 PWD 的内容,分析 FTP、TCP、IP 协议的首部信息。FTP 服务器的端口号为 21,用于控制连接。

在这里使用的是filezilla登陆的FTP服务器,通过对登陆过程的捕获可以看到,登陆的账号为anonymous,密码为anonymous@example.com(默认)。

用Wireshark查看FTP、TCP、IP协议的首部信息,如下图。

(2)FTP 文件的下载过程

要求分别下载三个大小不同的文件(小于 1MB、1MB—10MB、10MB 以上),观察 FTP、TCP 和 IP 协议中的数据分片过程。

从图5-3中可以简单看出,下载文件的请求命令为”RETA ”,文件字节大小也不一样。

从发送时间也可以看出来一些差别。介于1MB—10MB的文件可能由于其格式或其他原因,没有正常显示出包的大小和传输时间。不过,通过对比不同的大小的文件,可以得出文件越大TCP切片长度越小,传输的字节越多,所用的传输时间越长。

(3)FTP 服务的退出过程

分析 FTP、TCP、IP 协议的不同内容。

FTP的退出过程在Wireshark的抓包过程中没有捕获到。

1.6 HTTP 协议包的捕获与分析

登录到国内外的一些门户网站上,将主页浏览过程捕获下来,分析其 HTTP、TCP、UDP、

IP 协议的内容。注意 TCP 协议中的端口号。

补充一下HTTP的工作流程:

(1) 客户端通过TCP三次握手与服务器建立连接。

(2) TCP建立连接成功后,向服务器发送http请求

(3) 服务器收到客户端的http请求后,将返回应答,并向客户端发送数据。

(4) 客户端通过TCP四次握手,与服务器断开TCP连接。

国内网站:

国内这里以京东商城为列jd.com(111.13.28.118),捕获主页浏览过程,抓包结果如图。从图中可以看出,No分别为1950、1951、1958时进行了TCP三次握手,此时使用的是TCP协议的80端口。(说明:Wireshark抓包仅限于http,对于https其无法解密识别,国内大部分网站主页都是http,只有在登陆界面或者少数主页是https加密,不过为了掩盖性,大部分网站的头部都以https开头,尽管他们没有发挥任何作用。)

从包的数据中可以分析得出(见图6-2),本机地址10.10.215.246,捕获端口为19651。目标地址为111.13.28.118,开放端口为80,TCP协议数据切片长度为382。在看看HTTP协议,其中http请求头为Mozilla/5.0(Windows NT 10.0;Win64; X64)…以及它的接受语言为中文等等,是正常访问url时向服务器发送的一些数据信息。

1.7 EMAIL 协议包的捕获与分析

登录到校内外的邮件系统,捕获自己的登录信息,重点分析其 SMTP、POP3 协议的内容。注意其端口号分别是 25 和 110。

国内外大部分邮箱采用ssl加密,即https协议,其中http常用端口为80,https常用端口号为443。下面我使用的是foxmail客户端来进行EMAIL协议包的捕获,捕获内容如下图

在Protocol列中可以看到显示的协议有TCP和SMTP。由于SMTP是基于TCP协议的,所以在使用SMTP协议发送邮件之前,首先要通过TCP三次握手建立连接。从图中倒数第三个SMTP包的后面可以看到我发送邮件的邮箱账号。第75帧表示成功登陆邮箱,第78帧表示发送邮件的账户,本例中是****@qq.com。第81帧表示接受邮件的账户,本例中采用qq邮箱为例。第83帧是客户端发送的内容,84帧使用接收了文本的内容。

该界面较为清晰的展示了邮件信息(右键一个SMTP包,选择follow->TCP Stream查看),红色部分为客户端发送的信息,蓝色部分是服务器相应信息。在该界面可以看到客户端的主机名、邮件账户、使用的邮件客户端、邮件内容类型和传输格式等等。也可以看见发送的信息内容,由于内容被转换为base64位格式的信息,进行了加密。

四、 思考题

(1)在 FTP 服务中,FTP 数据长度为什么是 1460 字节?

最大传输单元是1460字节是TCP层的报文段(segment)的长度限制。

(2)如何捕获 FTP 服务的结束数据包?

在过滤器中输入ftp,会看到在Information信息列中出现Request:QUIT的内容,表示为ftp的结束包

(3)在端口扫描中,对应的协议有 TCP 和 UDP。应该如何查找某端口对应的服务类型?

在cmd命令行中使用netstat -a -n命令查看。

(4)不指定 IP 地址时,为什么有的邻近主机捕获不到?

每个信息包能够通过网络不同的路径发送,信息包能按照与它们发送时的不同顺序到达。网络协议(IP)仅仅是递送他们,TCP才是能够将它们按照正确顺序组合回原样。IP是一个无连接协议,这就意味着在通信的终点之间没有连续的线路连接。这就导致了会有一些主机捕获不到信息。

(5)PING 命令操作时,为什么会捕获 ARP 协议的数据包?

因为ARP协议是“Address Resolution Protocol” 的缩写。在局域网中,网络中实际传输的是帧,帧里面是有目标主机的MAC地址的。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址以保证通信的顺利进行。

参考文章:

如何关闭139端口及445端口等危险端口

聊一聊HTTPS那些事

TCP协议(1)–TCP首部

wireshark过滤规则及使用方法

wireshark抓包教程

电子邮件抓包分析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196468.html原文链接:https://javaforall.cn

0 人点赞