怎样捕捉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的报文的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能捕捉到 404?

我怎样才能捕捉到视图变得可见

我怎样才能捕捉到弹簧消息 JstTagException?

Python - 我怎样才能捕捉到 chown 的错误。 chown:无效用户[关闭]

jquery的chosen控件,怎样才能捕捉到input的输入事件

vc中DirectShow捕捉的图片怎样保存为BMP文件?