1.TCP/IP中链路层的附加数据是什么
在用wireshark打开报文时,链路层显示的Trailer数据就是附加数据,如图
2.如何产生
1.例如以太网自动对小于64字节大小的报文进行填充(未实验)。
2.使用链路层套接字写数据时,实际数据大小 > (ip头标示报文大小 + 链路层头部)
3.生存周期
?
4.作用
假设二层交换机下有2个设备A和B
1.增添了一条操作系统与外界通信的额外通道
试想下,怎么在协议不支持的情况下从A设备处获得B设备的系统时间?
在B设备向A设备发数据时(任何协议),把自己的系统时间写到附加数据中,A使用链路层套接字(比如tcpdump使用的套接字)获取链路层数据就可以对
附加数据做解析。
2.控制上层应用程序的行为
应用程序的行为被收到的报文所影响,应用程序收报文的大致流程如下:
网卡收到报文->内核处理->TCP/IP协议栈处理->上层应用
可见内核处理可以对报文进行篡改(例如iptables的mangle),来”欺骗“应用程序。
例如上层应用只对特定ip进行服务,比如1.1.1.1,如果是来自2.2.2.2的请求会被拒绝掉,不改变上层应用
行为的前提下,可以在内核处对报文进行修改,把2.2.2.2修改为1.1.1.1(当然,应用程序发包时内核也要把1.1.1.1修改为2.2.2.2)
而附加数据的作用是为这种报文修改提供策略或依据。
时间: 2024-10-30 02:30:40