raw socket
###1. raw socket 常用的网络编程都是在应用层的报文的收发操作,, 这些数据包都是由系统中的协议栈来处理,用户只需要填充应用层报文即可,由系统完成底层报文头的填充并发送, 在某些情况下需要执行更底层的操作,比如修改报文头、避开系统的协议栈, 这个时候就需要使用其他的方式来实现 在linux上, 支持2种raw socket AF_INET 协议族的 SOCK_RAW 类型的socket,实现了IP 层的raw socket AF_PACKET 协议族的 SOCK_RAW和 SOCK_DGRAM类型的socket, 实现了数据链路层的raw socket ###2. AF_INET raw socket AF_INET 支持 SOCK_RAW 类型的原始套接字, 支持IP协议之上的协议类型, 例如tcp, udp, icmp等等, 创建方式类似于 socket(AF_INET, SOCK_RAW, IPPROTO_TCP) 注意最后的 protocol...