- 1. LAN 标准(局域网协议标准)
- 2. 额外:wifi和wlan和wapi区别
- 3. 以太网协议(Ethernet):用于局域网内标准
- 4. 查看帧内内容可用抓包工具
- 5. 早期同轴电缆的时期CSMA/CD用来解决冲突,后来用了双绞线以及各种网络设备:
1. LAN 标准(局域网协议标准)

- 其中以太网协议经过多年发展已经出现多个版本
2. 额外:wifi和wlan和wapi区别
wlan是另外两种协议的统称,代表无线局域网协议(wireless local area network)
3. 以太网协议(Ethernet):用于局域网内标准
- 目前基本上局域网内用的都是以太网协议,早期还有令牌环网等协议
- 以太网协议工作在数据链路层,以帧为数据单位,其结构可以参考网络资料,https://blog.csdn.net/qq_41721618/article/details/96018466
- 早期以太网协议没有指明上一层(网络层)协议,后来在长度位增加了type两个字节用来指明上一层协议
- wifi也是属于以太网协议(无线),802.11开头。
3.1. Ethernet Frame结构

- Frame中去头去尾,中间的信息才是有用的信息
- 其中有用的信息,一帧最长为1514个字节,最短60个字节
3.2. 数据链路层

3.3. MAC地址

- MAC:media access control
4. 查看帧内内容可用抓包工具
4.1. windows
wareshark
4.2. linux—{tcpdump, ethtool,mii-tool,netstat,ss,cc}
4.2.1. 命令行命令—{tcpdump}
-i 后面指定要抓包的网卡名
-nn 抓包的网卡,当对方访问本机时,显示对方的IP地址而不是主机名
-x 显示16进制的包内数据信息
-xx
常用用法举例:
1.后面直接跟协议名,只抓包特定协议的包,比如
tcpdump -i eth0 -nn icmp
tcpdump -i eth0 -nn arp
4.2.2. 查看网卡信息—{ethtool}
ethtool 直接跟网卡名:显示网卡详细信息
-i 后面指定网卡名 比如 eth0 :查看网卡驱动模块
4.2.3. 查看网卡信息—{mii-tool}
mii-tool -v eth0
4.2.4. netstat 或者 ss 查看网络各种信息
- n 尽量以数字形式显示,不要显示主机名等等
- t 只显示与TCP协议相关的数据
- r 路由表相关信息
- a 所有信息
4.2.5. ab命令
yum install httpd-tools
ab -c 100 -n 2000 http://192.168.0.1/test.txt
- 此命令意思是代表并发发起100个请求,最多发起2000个请求
5. 早期同轴电缆的时期CSMA/CD用来解决冲突,后来用了双绞线以及各种网络设备:
5.1. HUB 集线器
HUB :集线器,也被称为中继器repeter(双绞线的最大有效传输100米左右,用它来放大信号延长距离),傻瓜式向所有端口以广播的机制转发数据,一个主机发送数据之后连接到集线器上的所有设备都会收到这个数据,其也被称为泛洪机制(flood)。
- 它的缺点就是1.数据不安全(所有机器都能收到数据,因此便可抓取并窥窃);2.同时会干扰到其他不需要接收数据的机器;3.再有就是两台机器以上同时发送数据会在集线器内发生冲突,那就仍然需要回退算法(CSMA/CD)重新发送;
- 所有机器共享HUB带宽,工作方式半双工。
- 连接到hub上的主机在一个冲突域内(两台机器同时发送数据,数据会发生冲撞并损毁,那么这两台主机就在一个冲突域)
- 注意HUB工作在物理层。
5.2. 网桥
网桥:网桥两端分别为两个冲突域,它就是一个两个端口的交换机,二层设备工作在数据链路层。
5.3. 交换机
switch:交换机,外观类似集线器,不过是以单播转发的机制向特定主机发送数据,它的每一个端口就是一个冲突域,并且连接到它的每个主机的带宽就是交换机的带宽,并不是共享方式,而是独占方式,全双工通讯。当然它要提前动态学习port和MAC对应的MAC地址表才能达到这个分离冲突域的效果(注意下面的.
- 它会根据自己内存中的端口和地址对应的表来对应的转发数据,如果表中没有目标地址MAC和端口对应数据,则它会向所有端口转发数据,如果找到了,则只会向目标地址MAC对应的端口转发数据,达到单播的效果,也就是相当于只有第一次发送数据的时候是广播形式(因为找不到目标MAC地址主机对应的端口)
- 它学习过程是这样的,当收到一个主机发送的数据帧时(以太网帧),它会记下它收到的这个发送的数据来自哪个端口port以及发送这个数据的主机的MAC地址,这样就把这个端口和MAC地址对应起来了(注意学习的时候是靠源数据来自的源地址以及源端口来学习并存入内存表格中的,而不是靠目标地址)
- 注意一个端口对应的MAC地址可以有多个,因为一个端口上可以再次接上交换机或者集线器等等,可以有多台主机接在这一个端口上,所以一个端口对应了多个MAC地址。注意这个MAC地址表存在内存中,断电会丢失,因为是动态学习方式,所以可以被清除或者修改,其能保存的对应条目是有限的。
- 因为它的这个特性,可知如果内存表空间被占满,它就不会再记录新的端口和MAC对应条目,因此它受到数据之后如果找不到对应的MAC地址,他就会广播形式向所有端口转发,造成网络拥堵。通过这种伪造虚假源地址发送数据,然后占满内存表的方式让交换机广播发送,降级设备,就能实现监听数据的效果(因为广播了所以所有的接口都会收到找不到目标MAC地址的数据)。
当然具有管理能力的交换机能够避免这种情况发生,但没有管理能力的就无法控制这种行为了。 - 相比于HUB,它数据更加安全。但某些具有管理功能的交换机同样可以将某个端口设置为旁路接口,所有通过这个交换机的数据都要转发到这个接口上,不论目标地址是什么,也可以达到窃听效果。
- 同时要注意交换机工作在数据链路层,它记录的是端口和MAC地址而不是IP,IP在网络层
- 交换机和网桥能隔断冲突域,不能隔断广播域(广播域就是说一台主机发送一个广播,另一台主机收到,那么他俩就在一个广播域,广播域的以太网协议帧中的目标地址信息为48个1也就是FF:FF:FF:FF:FF:FF)。
- 因为交换机里面存的MAC地址表都是从源地址学习得来,源地址不可能有48个1的MAC地址,既然找不到这48个1对应的MAC地址和端口,收到广播数据MAC地址为48个1就会向全部端口转发,因此便会广播。(注意连接到交换机的交换机也会收到广播信息,想想原理便知)
- 由此也可知交换机和交换机相连同样也是在一个广播域内;
- 注意广播域指的是否能收到以太网帧(目标MAC地址为F广播帧),它并不以网段(三层)来划分,它是在数据链路层(二层)来说的。路由器就是为了在不同的网段进行数据转发的,它隔断了广播域。
由于交换机不能隔断广播域,所以企业中需要使用路由器加交换机的方式隔断各个不同的广播域;
5.4. 路由器
把一个数据包从一个设备发送到不同网络里的另一个设备上去。这些工作依靠路由器来完成。路由器只关心网络的状态和决定网络中的最佳路径。路由的实现依靠路由器中的路由表来完成
- 分割不同的网段(三层IP协议)
- 分隔广播域
- 选择路由表中到达目标最好的路径
- 维护和检查路由信息
- 连接广域网
留言