linux-kernel – ICMP数据包的源和目标端口
发布时间:2020-12-14 01:18:29 所属栏目:Linux 来源:网络整理
导读:我正在netfilter中编写数据包过滤器.有没有办法可以获得ICMP数据包的源端口和目的端口? 我从sk_buff结构中提取了icmp_hdr.但我没有看到来自源地址和目的地址的任何属性? 解决方法 端口号是TRANSPORT层识别哪个数据包属于终端系统中的哪个进程的方式. 他们
我正在netfilter中编写数据包过滤器.有没有办法可以获得ICMP数据包的源端口和目的端口?
我从sk_buff结构中提取了icmp_hdr.但我没有看到来自源地址和目的地址的任何属性? 解决方法
端口号是TRANSPORT层识别哪个数据包属于终端系统中的哪个进程的方式.
他们习惯于让流程到流程的交付工作;但从功能的角度来看,ICMP不是传输层协议. ICMP是网络层的消息传递协议(在IP之上; but not really in the transport layer),它有很多责任,但它们都没有与进程到进程交付有关,因此有一个端口号不会有道理. 举一个例子,当你ping(ping使用ICMP echo消息)一个IP地址时,你真正在ping哪个端口? 现在,ICMP有很多types of messages;如果要过滤掉例如ping消息,则应检查字段类型,如果它等于ICMP_ECHO,则可以返回NF_DROP. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |