当前位置: 技术问答>linux和unix
向高手请教linux网络编程的问题!
来源: 互联网 发布时间:2016-05-19
本文导语: linux的 socket raw能够自己构造ARP包吗? 它是能自由填充以太网帧的所有内容(包括前12字节的MAC地址),还是基于IP包之上的? | MAC不包括在IP头里面。IP头的结构如下所示: /* IP Hea...
linux的 socket raw能够自己构造ARP包吗? 它是能自由填充以太网帧的所有内容(包括前12字节的MAC地址),还是基于IP包之上的?
|
MAC不包括在IP头里面。IP头的结构如下所示:
/*
IP Header
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
*/
|
是基于IP之上的,如果完全构造数据包,libnet可以实现...
|
raw socket 可以自己构建ip头的。
|
tcp/ip详解第一卷