Tag: ping

如何在C#中实现PsPing TCP ping

我试图在C#中实现Mark Russinovich的SysInternals PsPing工具来测量使用TCP ping的延迟。 我不确定它是如何进行ping调用的(显然不使用原始Window套接字,因为它不需要管理员权限来运行)。 我知道hping通过TCP发送SYN数据包并测量响应时间。 什么是准确测量服务器延迟的实现技术,而TCP不会测量页面加载时间,而只测量程序包确认的网络延迟? 这个库有吗? C:\>psping stackoverflow.com:80 PsPing v2.01 – PsPing – ping, latency, bandwidth measurement utility Copyright (C) 2012-2014 Mark Russinovich Sysinternals – www.sysinternals.com Pinging 198.252.206.16 with 32 bytes of data: 5 iterations (warmup 1) ping test: Reply from 198.252.206.16: 81.57ms Reply from 198.252.206.16: 80.81ms Reply from 198.252.206.16: 80.68ms Reply from […]

在C#中通过MAC Ping或以其他方式告知设备是否在网络上

我正在开发一个家庭安全应用程序。 我想做的一件事是根据我是否在家里自动关闭它。 我有一部带Wifi的手机,当我回家时,它会自动连接到我的网络。 手机通过DHCP连接并获取其地址。 虽然我可以将其配置为使用静态IP,但我宁愿不这样做。 在C#/ .Net中是否有任何类型的“Ping”或等效设备可以获取设备的MAC地址并告诉我它是否在网络上当前处于活动状态? 编辑:为了澄清,我正在PC上运行软件,我希望能够在同一局域网上检测到手机。 编辑:这是我想出的代码,感谢spoulson的帮助。 它可靠地检测我感兴趣的任何手机是否在家里。 private bool PhonesInHouse() { Ping p = new Ping(); // My home network is 10.0.23.x, and the DHCP // pool runs from 10.0.23.2 through 10.0.23.127. int baseaddr = 10; baseaddr <<= 8; baseaddr += 0; baseaddr <<= 8; baseaddr += 23; baseaddr <<= 8; // […]

在网络上ping主机名

我如何ping网络上的主机名?

在我的C#应用​​程序内部进行“ping”

我需要我的应用程序来ping我稍后将指定的地址,只需将平均Ping时间复制到Label的.Text即可。 有帮助吗? 编辑: 如果有人有兴趣,我找到了解决方案: Ping pingClass = new Ping(); PingReply pingReply = pingClass.Send(“logon.chronic-domination.com”); label4.Text = (pingReply.RoundtripTime.ToString() + “ms”);

如何使用特定网络接口(或特定源IP地址)进行Ping?

根据这个链接: 使用System.Net.NetworkInformation,有没有办法将ping绑定到特定的接口? ICMP不能绑定到网络接口(与基于套接字的东西不同): ICMP不是基于套接字的。 ping将根据路由表发送到适当的端口。 https://stackoverflow.com/editing-help 但我看不出任何正确的方法来获取有关“pinger”的信息。 至少,在shell命令中,我可以指定源IP地址,但不能在我使用Ping类时。 我尝试以编程方式执行一些traceroutes以获取Ping路由中涉及的IP地址,但我没有得到网络接口的IP地址(我想它来自我无法将TTL设置为0的事实)。 有关如何确定哪个网络接口用于某个ping的任何想法? (或指定用于ping的网络接口的方法)。

如何使用C#并行执行多个“Ping”

我试图计算一组服务器的平均往返时间。 为了加快速度,我想并行执行ping操作。 我写了一个名为AverageRoundtripTime()的函数,但它似乎有用,因为我不太了解multithreading,我想知道我做的是否还可以。 请看看我的代码,让我知道它是否正常,或者是否有更好的方法来实现我想要的: public void Main() { // Collection of hosts. List hosts = new List(); // Add 100 hosts to the collection. for (Int32 i = 0; i < 100; ++i) hosts.Add("www.google.com"); // Display the average round-trip time for 100 hosts. Console.WriteLine(AverageRoundtripTime(hosts)); } public Double AverageRoundtripTime(IEnumerable hosts) { // Collection of threads. List […]