[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

}

相关推荐
天下无敌笨笨熊6 分钟前
C#异步开发探微
开发语言·c#
WHD30621 分钟前
企业数据安全体系建设指南:从风险识别到技术落地的全流程(2026版)
大数据·网络·人工智能·安全·系统架构·密码学·安全架构
mudtools25 分钟前
存储那么贵,何不白嫖飞书云文件空间
前端框架·c#·.net
大虾别跑28 分钟前
麒麟v10搭建rsync
linux·运维·服务器
自动化智库29 分钟前
西门子XB208网管型交换机使用方法
运维·服务器·网络
CDN36033 分钟前
CSDN 运维笔记|360CDN 高防服务器配置与防护规则
运维·服务器·笔记
爱学习的小囧33 分钟前
VCF 集群部署灵活组合:单节点与高可用配置完全指南
java·服务器·前端
BullSmall36 分钟前
LVS与HAProxy高可用负载方案详解
linux·服务器·网络
docsz39 分钟前
Flink-1.20集群部署
linux·服务器·flink
昵称只能一个月修改一次。。。39 分钟前
串口+温度传感器
网络