计算机网络学习过程中,你会发现有各种各样的协议,每种协议又有各种各样的格式和要求,你会发现今天记住了,明天忘。那么问题来了,我们该怎么办?很简单,之所以你今天记住了,明天忘,那是因为你没有真的记住,没有见过实际协议的运转流程,计算机网络中的协议,你只靠脑子记忆是不行的,你必须动手去看一下,数据是怎么加头部尾部信息的,又是怎么解包的等等。这里牵扯到两个问题,怎么查看软件层的信息,怎么查看硬件层的信息
软件层面的信息查看推荐使用 wireShark 抓包一个一个的看,协议是怎么执行的
硬件层面的信息查看推荐使用Cisco packet tracer 构建物理结构,查看协议怎么执行
今天我们介绍使用wireShark,本文只是介绍其中的常用功能,没有面面俱到,看完本文之后,可以立马上手使用。
wireShark可以使用两种方式研究数据包,一种是建立规则抓取固定规则的数据包,一种是抓取全部数据包后,建立规则过滤数据包。接下来我们分别介绍。
打开软件后,单击捕获→选项就可以出现上图画面。在所选择接口的捕获过滤器中定义规则。规则如下
1.类型 host port net
host 指主机地址 规则是 host ip 实例 host
port 指端口 规则是 port 端口号 实例 port 80
2.方向 src dst
src 指源地址 也就是发出信息的地址 规则是 src 主机/端口 ip/端口号 实例 src host src port 80
dst 指目的地址 也就是信息的目的地 规则是 dst 主机/端口 ip/端口号 实例 dst host dst port 80
4 逻辑运算 与 或|| 非!
比如过滤多个条件 src host dst port 80
抓取数据包后,过滤方法与抓取前定义规则比较类似,但是还是有一些不一样的地方
1 过滤地址 规则 ip.addr = ip地址 实例 ip.addr ==
2 过滤端口 规则 协议名.port == 端口号 实例 tcp.port == 80 udp.port == 80
4 逻辑运算 and or 例如 tcp.port == 80 or udp.port == 80
基本的过滤规则学会了,然后开始过滤吧。
百度输入网址,打开wireshark开始兴致勃勃的抓包,一看抓出来的包怎么这么多,我怎么看,有DNS的,有TCP,有HTTP。这里插个体外话,介绍一下为什么会有那么多的协议出现。
当你在百度输入一个网址,首先需要使用DNS协议,将网址转化为ip地址,然后由于你需要访问网页,需要使用HTTP协议,而HTTP协议的数据是使用TCP协议传输的,所以你抓包的时候会看到DNS,TCP,HTTP等等的协议,有时候你还会看到ARP协议。
怎么办?使用wireshark中的高级功能,流追踪功能。
既然有那么的协议,而且是一会这里有一个,一会那里有一个,心里想如果wireshark能帮我归一下类不就美滋滋了吗?好吧,它确实有这个功能,右击你需要查看的协议→选择追踪流→然后选择协议流
看一下,是不是清爽了许多,仔细一看,前三行不就是我们一直学习的TCP三次握手吗?seq怎么累加的不就一目了然了吗?
wireshark具有许许多多强大的功能,特别是数据统计功能,图表功能等等,上文只是介绍了其中常用的一些功能,相信大家看完本文后,就可以直接上手使用了。下文为大家介绍,Cisco 精品软件 Cisco
Packet Tracer 。