基础知识
运行在TCP协议上的应用程序协议:
HTTP(Hypertext Transfer Protocol,超文本传输协议),主要用于普通浏览。
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer, or HTTP over SSL,安全超文本传输协议),HTTP协议的安全版本。
FTP(File Transfer Protocol,文件传输协议),由名知义,用于文件传输。
POP3(Post Office Protocol, version 3,邮局协议),收邮件用。
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议),用来发送电子邮件。
SSH(Secure Shell,用于替代安全性差的TELNET),用于加密安全登陆用。
运行在UDP协议上的应用程序协议:
BOOTP(Boot Protocol,启动协议),应用于无盘设备。
NTP(Network Time Protocol,网络时间协议),用于网络同步。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),动态配置IP地址。
其他:
DNS(Domain Name Service,域名服务),用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上)。
ECHO(Echo Protocol,回绕协议),用于查错及测量应答时间(运行在TCP和UDP协议上)。
SNMP(Simple Network Management Protocol,简单网络管理协议),用于网络信息的收集和网络管理。
ARP(Address Resolution Protocol,地址解析协议),用于动态解析以太网硬件的地址。
ARP
ARP协议的主要工作就是建立、查询、更新、删除ARP表项。
ARP协议引入了ARP缓存表的概念,每台主机或路由器在维护着一个ARP缓存表(ARP table)
,这个表包含IP地址到MAC地址的映射关系
,表中记录了<IP地址,MAC地址>
对。
ARP之简单请求应答
ARP之广播请求单播回应
Details of ARP data | ARP数据的详细信息 |
---|---|
Hardware type | 硬件类型,标识链路层协议 |
Protocol type | 协议类型,标识网络层协议 |
Hardware size | 硬件地址大小,标识MAC地址长度,这里是6个字节(48bit) |
Protocol size | 协议地址大小,标识IP地址长度,这里是4个字节(32bit) |
Opcode | 操作代码,标识ARP数据包类型,1表示请求,2表示回应 |
Sender MAC address | 发送者MAC |
Sender IP address | 发送者IP |
Target MAC address | 目标MAC,此处全0表示在请求 |
Target IP address | 目标IP |
有了基础知识后,可以查看使用手册了
wireshark使用教程
wireshark
抓包原理
- 本机环境 直接抓包本机网卡进出流量
- 集线器环境 从集线器上抓到其他电脑发送过来的包 所属物理层 无法查看 IP/MAC
流量泛洪、同一冲突
- 交换机环境
- 端口镜像
将PC2和PC3上的流量拷贝一份到PC1上
- ARP欺骗
- 端口镜像
3. MAC泛洪
底层原理
- Win-/libpcap
Wireshark抓包时依赖的库文件 - Capture
抓包引擎,利用libpcap/WinPcap从底层抓取网络数据包,libpcap/WinPcap提供了通用的抓包接口,能从不同类型的网络接口抓包。 - Wiretap
格式支持,从抓包文件中读取数据包,支持多种文件格式 - Core
核心引擎,通过函数调用将其他模块连接在一起,起到联动调度的作用。 - GTK1/2
图像处理工具,处理用户的输入输出显示