[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

}

相关推荐
Sinclair2 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Scout-leaf2 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530142 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
Rockbean3 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
茶杯梦轩3 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
mudtools3 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的4 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21884 天前
.NET 本地Db数据库-技术方案选型
windows·c#
海天鹰4 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet