[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

}

相关推荐
星恒讯工业路由器11 分钟前
新一代通信网:从“连接万物”到“智联万物”的关键跃迁
网络·物联网·智能路由器·工业路由器·工业物联网·5g-a·新一代通信网
暴力求解2 小时前
Linux网络---传输层协议TCP(二)
linux·服务器·开发语言·网络·tcp/ip
石头猫灯2 小时前
WordPress wp2shell 漏洞链完整拆解流程
网络·数据结构·安全·web安全
网安蟹佬霸2 小时前
OSINT开源情报收集实战:从信息搜集到资产测绘(2026最新万字保姆级指南)
前端·网络·安全·web安全·网络安全·开源
Vae_Mars3 小时前
C#中的delegate委托
开发语言·c#
80s7774 小时前
动态ip和静态ip有什么区别
服务器·网络·tcp/ip
鲁邦通物联网4 小时前
出海物联网设备的全球化网络接入与合规脱敏架构:基于 Node-RED 与 C++ 零拷贝的边缘系统设计
网络·物联网·系统架构·边缘计算·边缘计算网关·5g数采·工业级边缘计算网关
星恒讯工业路由器4 小时前
家庭无线组网方式全解析:从单路由到FTTR,哪种适合你?
网络·物联网·智能路由器·路由器·家庭组网·ac+ap·mesh组网
0566464 小时前
agent学习——流式响应与文本切分
网络·python·学习
mqiqe5 小时前
AgentScope Java 2.0 Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
java·运维·网络