首页文章正文

ETH_P_ALL,ETP-ALL

ethtool -p eth0 2023-11-20 17:19 125 墨鱼
ethtool -p eth0

ETH_P_ALL,ETP-ALL

ETH_P_ALL,ETP-ALL

ETH_P_IP:IPV4数据包ETH_P_ARP:ARP数据包ETH_P_ALL:任意协议类型的数据包返回值:成功(>0):Socket,这里是链路层socket失败(<0):错误示例如下://ItestedtherequiredheaderfileunderLinuxanditwasok,buttheparameterThreereportedinhpuxwasnotDefined.Please告诉我ETH_P是哪个头文件_ALL/ETH_P_IP宏定义在.Mycodeislikethisif((sock=socket(PF_PACKET,SOCK_RAW,hton

socket(PF_PACKET,SOCK_RAW|SOCK_DGRAM,htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))发送和接收以太网数据帧。 这种socket功能比较强大,可以监控网卡上的所有数据帧:spin_lock_bh(&ptype_lock);if(pt->type==htons(ETH_P_ALL)){netdev_nit++;list_add_rcu(&pt->list,&ptype_all);}else{hash=ntohs(pt->type)&1

ETH_P_ALL,表示需要处理所有协议的数据包if(pt->type==htons(ETH_P_ALL)){netdev_nit++;pt->next=ptype_all;ptype_all=pt;}else{//对于网络层协议类型和1,当protocol为0时,表示socket不能用来接收数据包,只能用来发送。当protocol为ETH_P_ALL,表示可以接收本机接收到的所有二层数据包(包括IP、ARP、自定义二层报文、 等),还有这种类型的插座

应用层通过libpcap库创建socket:调用系统调用,sock_fd=socket(PF_PACKET,SOCK_RAW,htons(ETH_P_ALL));tcpdump在socket创建过程中创建packet_type(structpacket_type),并挂载到ETH_P_ALL自己定义的/usr/include/linux/if_ether.h中,#defineETH_P_ALL0x0003ETH_P_ALL占用两个字节,值为0x0003。其他:#defineETH_P_LOOP0x0060/*Ethe

≥▂≤ ETH_P_ALL包含多种类型,但是我们在具体处理不同类型的时候,需要使用不同的方法,大致分为2类。 一类是设备需要停止解析并发送给上层进行分析或转发的数据包。例如:ETH_P_IP:IPV4数据包ETH_P_ARP:ARP数据包ETH_P_ALL:任意协议类型的数据包返回值:成功(>0):链路层socket失败(<0):错误头文件:#include#include

后台-插件-广告管理-内容页尾部广告(手机)

标签: ETP-ALL

发表评论

评论列表

黑豹加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号