Linux网络编程【7】(Wireshark抓包工具)

1,074 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

1. Wireshark抓包工具

1.1 软件介绍

Wireshark用于抓取经过你当前主机网卡的所有的数据包并且会自动分析数据包

网络管理员使用 Wireshark 来检测网络问题,

网络安全工程师使用 Wireshark 来检查资讯安全相关问题,

开发者使用 Wireshark 来为新的通讯协定除错,

普通使用者使用 Wireshark 来学习网络协定的相关知识。

1.2 软件安装

安装wireshark工具,一路下一步即可,

有一页选择插件usbpcap需要打勾安装一下

1.3 Wireshark工具的使用

第一步:使用管理员权限打开软件

图片.png

第二步:选择合适的网卡

图片.png

或者在菜单栏中选择“捕获”,点击“选项”选择适当的网卡

图片.png

第三步:查看数据包信息

图片.png

1.4 抓取数据包并分析

windows作为TCP服务器,ubuntu作为TCP客户端

图片.png

运行客户端服务器,抓取数据包并分析

图片.png

1.4.1 链路层

以太网头:

图片.png

目的地址:目的mac地址,windows的mac地址

源地址:源mac地址,ubuntu的mac地址

类型:决定后面跟的协议

0x0800 IP头

0x0806 ARP头

0x8035 RARP头

图片.png

1.4.2 网络层

ip头

图片.png 版本:4,表示IPV4

首部长度:5,IP头首部长度为20个字节,这个位置传的值以4字节为单位,所以传5

总长度:168,IP总长度=IP头+TCP头+data=20+20+128=168

生存时间TTL:表示当前数据包在网络中传输的最大次数,一般设置为16、32、64或者128

协议类型:表示IP头后面跟的协议,1:ICMP 2:IGMP 6:TCP 17:UDP

源IP:ubuntu 的ip地址

目的IP:windows的ip地址

图片.png

1.4.3 传输层

TCP头

图片.png

源端口号:ubuntu的端口号

目的端口号:windows的端口号

头部长度:以4字节为单位,一共20个字节,所以传5

图片.png

1.4.4 应用层

应用层数据

图片.png