2012年9月22日

Linux下PF_PACKET的使用

摘要: sock_raw(注意一定要在root下使用)原始套接字编程可以接收到本机网卡上的数据帧或者数据包,对于监听网络的流量和分析是很有作用的.一共可以有3种方式创建这种socket1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送接收ip数据包,不能用IPPROTO_IP,因为如果是用了IPPROTO_IP,系统根本就不知道该用什么协议。2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))发送接收以太网数据帧3.socket(AF_IN 阅读全文

posted @ 2012-09-22 16:40 追寻前人的脚步 阅读(17019) 评论(0) 推荐(0) 编辑

AF_INET和PF_INET的细微不同

摘要: AF表示ADDRESS FAMILY 地址族PF表示PROTOCL FAMILY 协议族但这两个宏定义是一样的所以使用哪个都没有关系Winsock2.h中#defineAF_INET 0#definePF_INETAF_INET所以在windows中AF_INET与PF_INET完全一样而在Unix/Linux系统中,在不同的版本中这两者有微小差别对于BSD,是AF,对于POSIX是PF在函数socketpair与socket的domain参数中有AF_UNIX,AF_LOCAL,AF_INET,PF_UNIX,PF_LOCAL,PF_INET.这几个参数有AF_UNIX=AF_LOCAL, 阅读全文

posted @ 2012-09-22 16:19 追寻前人的脚步 阅读(686) 评论(0) 推荐(0) 编辑

导航