怎样捕捉icmp的报文
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样捕捉icmp的报文相关的知识,希望对你有一定的参考价值。
参考技术A 1.工具:Wireshark 跨平台软件 windows 类unix的都有,可以方便抓包,抓包时设置过滤器为icmp就可以了。2.编程:使用libpcap库,编写一个只获取icmp的程序。也比较简单,在过滤器时设置一下就可以了。
char bpf_filter_string[] = "icmp";
net_interface = pcap_lookupdev(error_content);
pcap_lookupnet(net_interface, &net_ip, &net_mask, error_content);
pcap_handle = pcap_open_live(net_interface, BUFSIZ, 1, 0, error_content);
pcap_compile(pcap_handle, &bpf_filter, bpf_filter_string, 0, net_ip);
pcap_setfilter(pcap_handle, &bpf_filter);
pcap_datalink(pcap_handle)
------
ICMP
ICMP简介
ICMP全名为(INTERNET CONTROL MESSAGE PROTOCOL)网络控制消息协议。
ICMP的协议号为1。
ICMP报文就像是IP报文的小弟,总顶着IP报文的名头出来混。因为ICMP报文是在IP报文内部的。
ICMP类型
ICMP报文主要有两大功能:查询报文和差错报文。
以上是关于怎样捕捉icmp的报文的主要内容,如果未能解决你的问题,请参考以下文章
Python - 我怎样才能捕捉到 chown 的错误。 chown:无效用户[关闭]