在linux套接字编程中,常见的套接字类型有SOCK_STREAM, SOCK_DGRAM .
int socket(int domain, int type, int protocal), 其中 type 字段的 选项可以是:
SOCK_STREAM
SOCK_DGRAM
SOCK_SEQPACKET
SOCK_RAW
Provides raw network protocal access.
SOCK_RDM
SOCK_PACKET
原始套接字rawsocket 因其能获得最底层的IP包,因而有其特殊的作用。其用处,例如:
1. 怎样发送一个自定义的IP包 ?
2. 怎样发送一个ICMP协议包 ?
3. 怎样分析所有经过网络的包 ,而不管这包是否是发给自己的?
4. 怎样伪装本地IP地址 ?
以上所有这些,原始套接字(SOCK_RAW), 都可以帮你实现! !
(tips: 原始套接字广泛应用于高级网络编程,也是一种广泛的黑客手段,著