首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C#中侦听ICMP数据包

在C#中侦听ICMP数据包的方法是通过使用Ping类。Ping类提供了一种简单的方法来发送ICMP Echo Request消息并等待ICMP Echo Reply回复。以下是一个简单的示例,演示如何使用Ping类侦听ICMP数据包:

代码语言:csharp
复制
using System;
using System.Net.NetworkInformation;

namespace ICMP_Listener
{
    class Program
    {
        static void Main(string[] args)
        {
            Ping pingSender = new Ping();
            string host = "www.example.com";

            try
            {
                PingReply reply = pingSender.Send(host);
                if (reply.Status == IPStatus.Success)
                {
                    Console.WriteLine("Address: {0}", reply.Address.ToString());
                    Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
                }
                else
                {
                    Console.WriteLine("Ping failed: {0}", reply.Status);
                }
            }
            catch (PingException ex)
            {
                Console.WriteLine("Ping failed: {0}", ex.ToString());
            }
        }
    }
}

在这个示例中,我们创建了一个Ping对象,并指定了要发送ICMP Echo Request消息的目标主机。然后,我们调用Ping.Send方法发送请求并等待回复。如果回复成功,我们将打印出目标主机的IP地址和往返时间。否则,我们将打印出错误消息。

需要注意的是,Ping类只能用于发送和接收ICMP Echo Request和ICMP Echo Reply消息。如果您需要侦听其他类型的ICMP数据包,您需要使用其他方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的结果

领券