码迷,mamicode.com
首页 > Windows程序 > 详细

C#中的Ping命令

时间:2015-10-19 00:27:35      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:

1.Ping命令基础知识 

     在网络中Ping 命令是一个十分好用的TCP/IP工具,它主要的功能是用来检测网络的连通情况和分析网络速度。我们可以用ping来给网络上指定IP的计算机发送一个数据包,而对方就要返回一个同样大小的数据包,根据返回的数据包就可以判定对方机器的存在。 

在命令提示符中输入Ping /?,可以看到ping的所有参数:

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list

-t Ping 指定的计算机直到中断。

-a 将地址解析为计算机名。

-n count 发送 count 指定的 ECHO 数据包数。默认值为 4。

-l length 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。

-f 在数据包中发送"不要分段"标志。数据包就不会被路由上的网关分段。

-i ttl 将"生存时间"字段设置为 ttl 指定的值。

-v tos 将"服务类型"字段设置为 tos 指定的值。

-r count 在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。

-s count 指定 count 指定的跃点数的时间戳。

-j computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。

-k computer-list 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。

-w timeout 指定超时间隔,单位为毫秒。

技术分享

TTL是数据包从去到返回的所生存的时间.而根据LLT后面的数字我们还可以判断对方的操作系统 。

技术分享

       如果得到如上图的请求失败结果,首先检查网络设备是否正常,其次检查下本地连接里的DNS地址是否填写以及是否正确,以及检查下网线是否通畅、网线插口是否正确、若ping的是对方机器的IP就需要考虑下是否被对方的防火墙阻止掉。但仍然能得到ip,还有个更专业的命令就是“nslookup”。

 

2.向目标计算机发送Ping命令的实现

使用System.Net.NetworkInformation命名空间下的Ping类可以向指定计算机发送ICMP报文,发送完成后会返回一个PingReply对象实例该对象包含远程计算机回应的信息。

private async void btnPing_Click(object sender, EventArgs e)
        {
            if (txtHost.Text == "") return;

            System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
            // 向远程主机发送Ping命令
            btnPing.Enabled = false;
            System.Net.NetworkInformation.PingReply reply = await ping.SendPingAsync(txtHost.Text);
            btnPing.Enabled = true;
            // 显示结果
            if (reply != null)
            {
                string res = string.Format("目标主机IP:{0}\r\n状态:{1}\r\nTTL:{2}\r\n缓冲区大小:{3}", reply.Address.ToString(), reply.Status, reply.Options.Ttl, reply.Buffer.Length);
                txtResult.Text = res;
            }

 

 

 

C#中的Ping命令

标签:

原文地址:http://www.cnblogs.com/czx1/p/4890722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!