[C# ] 执行ping命令,获得网络状态

代码:

string ipStr = "192.168.1.10";

Ping p1 = new Ping();

PingReply reply = p1.Send(ip);

reply返回的状态:

public enum IPStatus

{

//

// 摘要:

// The ICMP echo request succeeded; an ICMP echo reply was received. When you get

// this status code, the other System.Net.NetworkInformation.PingReply properties

// contain valid data.

Success = 0,

//

// 摘要:

// The ICMP echo request failed because the network that contains the destination

// computer is not reachable.

DestinationNetworkUnreachable = 11002,

//

// 摘要:

// The ICMP echo request failed because the destination computer is not reachable.

DestinationHostUnreachable = 11003,

//

// 摘要:

// The ICMP echo request failed because the destination computer that is specified

// in an ICMP echo message is not reachable, because it does not support the packet's

// protocol.

DestinationProtocolUnreachable = 11004,

//

// 摘要:

// The ICMP echo request failed because the port on the destination computer is

// not available.

DestinationPortUnreachable = 11005,

//

// 摘要:

// The ICMP echo request failed because contact with the destination computer is

// administratively prohibited.

DestinationProhibited = 11004,

//

// 摘要:

// The ICMP echo request failed because of insufficient network resources.

NoResources = 11006,

//

// 摘要:

// The ICMP echo request failed because it contains an invalid option.

BadOption = 11007,

//

// 摘要:

// The ICMP echo request failed because of a hardware error.

HardwareError = 11008,

//

// 摘要:

// The ICMP echo request failed because the packet containing the request is larger

// than the maximum transmission unit (MTU) of a node (router or gateway) located

// between the source and destination. The MTU defines the maximum size of a transmittable

// packet.

PacketTooBig = 11009,

//

// 摘要:

// The ICMP echo Reply was not received within the allotted time. The default time

// allowed for replies is 5 seconds. You can change this value using the Overload:System.Net.NetworkInformation.Ping.Send

// or Overload:System.Net.NetworkInformation.Ping.SendAsync methods that take a

// timeout parameter.

TimedOut = 11010,

//

// 摘要:

// The ICMP echo request failed because there is no valid route between the source

// and destination computers.

BadRoute = 11012,

//

// 摘要:

// The ICMP echo request failed because its Time to Live (TTL) value reached zero,

// causing the forwarding node (router or gateway) to discard the packet.

TtlExpired = 11013,

//

// 摘要:

// The ICMP echo request failed because the packet was divided into fragments for

// transmission and all of the fragments were not received within the time allotted

// for reassembly. RFC 2460 (available at www.ietf.org) specifies 60 seconds as

// the time limit within which all packet fragments must be received.

TtlReassemblyTimeExceeded = 11014,

//

// 摘要:

// The ICMP echo request failed because a node (router or gateway) encountered problems

// while processing the packet header. This is the status if, for example, the header

// contains invalid field data or an unrecognized option.

ParameterProblem = 11015,

//

// 摘要:

// The ICMP echo request failed because the packet was discarded. This occurs when

// the source computer's output queue has insufficient storage space, or when packets

// arrive at the destination too quickly to be processed.

SourceQuench = 11016,

//

// 摘要:

// The ICMP echo request failed because the destination IP address cannot receive

// ICMP echo requests or should never appear in the destination address field of

// any IP datagram. For example, calling Overload:System.Net.NetworkInformation.Ping.Send

// and specifying IP address "000.0.0.0" returns this status.

BadDestination = 11018,

//

// 摘要:

// The ICMP echo request failed because the destination computer that is specified

// in an ICMP echo message is not reachable; the exact cause of problem is unknown.

DestinationUnreachable = 11040,

//

// 摘要:

// The ICMP echo request failed because its Time to Live (TTL) value reached zero,

// causing the forwarding node (router or gateway) to discard the packet.

TimeExceeded = 11041,

//

// 摘要:

// The ICMP echo request failed because the header is invalid.

BadHeader = 11042,

//

// 摘要:

// The ICMP echo request failed because the Next Header field does not contain a

// recognized value. The Next Header field indicates the extension header type (if

// present) or the protocol above the IP layer, for example, TCP or UDP.

UnrecognizedNextHeader = 11043,

//

// 摘要:

// The ICMP echo request failed because of an ICMP protocol error.

IcmpError = 11044,

//

// 摘要:

// The ICMP echo request failed because the source address and destination address

// that are specified in an ICMP echo message are not in the same scope. This is

// typically caused by a router forwarding a packet using an interface that is outside

// the scope of the source address. Address scopes (link-local, site-local, and

// global scope) determine where on the network an address is valid.

DestinationScopeMismatch = 11045,

//

// 摘要:

// The ICMP echo request failed for an unknown reason.

Unknown = -1

}

相关推荐
大柏怎么被偷了2 小时前
【Linux】进程等待
linux·运维·服务器
河北瑾航科技2 小时前
广西水资源遥测终端 广西水利遥测终端 广西用水监测遥测终端 河北瑾航科技遥测终端机HBJH-B01说明书
网络·科技·水文遥测终端机·遥测终端机·广西水资源遥测终端机·广西水利遥测终端·广西用水终端
互联网老欣2 小时前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
羑悻的小杀马特3 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
愚戏师3 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
悦悦欧呐呐呐呐4 小时前
数据库事务是什么,怎么用的
服务器·数据库·oracle
降临-max4 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
自由的好好干活4 小时前
使用Qoder编写ztdaq的C#跨平台示例总结
linux·windows·c#·qoder
赖small强5 小时前
【Linux 网络基础】libwebsockets HTTPS 服务端实现机制详解
linux·网络·https·tls·libwebsockets
大白的编程日记.5 小时前
【计算网络学习笔记】MySql的多版本控制MVCC和Read View
网络·笔记·学习·mysql