[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

}

相关推荐
虾..1 小时前
Linux 软硬链接和动静态库
linux·运维·服务器
Evan芙2 小时前
Linux常见的日志服务管理的常见日志服务
linux·运维·服务器
玄斎2 小时前
MySQL 单表操作通关指南:建库 / 建表 / 插入 / 增删改查
运维·服务器·数据库·学习·程序人生·mysql·oracle
kaikaile19952 小时前
基于C#实现一维码和二维码打印程序
开发语言·c#
我不是程序猿儿3 小时前
【C#】画图控件的FormsPlot中的Refresh功能调用消耗时间不一致缘由
开发语言·c#
rit84324993 小时前
C# Socket 聊天室(含文件传输)
服务器·开发语言·c#
hkhkhkhkh1234 小时前
Linux设备节点基础知识
linux·服务器·驱动开发
老蒋新思维5 小时前
创客匠人视角:智能体重构创始人 IP,知识变现从 “内容售卖” 到 “能力复制” 的革命
大数据·网络·人工智能·tcp/ip·创始人ip·创客匠人·知识变现
柏木乃一5 小时前
进程(2)进程概念与基本操作
linux·服务器·开发语言·性能优化·shell·进程
CloudJourney6 小时前
从Unix到OpenEuler及其关键协议解析
服务器·unix