Freigeben über


IPStatus Enumeration

Definition

Meldet den Status des Sendens einer ICMP-Echonachricht (Internet Control Message Protocol) an einen Computer.

public enum class IPStatus
public enum IPStatus
type IPStatus = 
Public Enum IPStatus
Vererbung
IPStatus

Felder

Name Wert Beschreibung
Unknown -1

Fehler bei der ICMP-Echoanforderung aus einem unbekannten Grund.

Success 0

Die ICMP-Echoanforderung war erfolgreich; eine ICMP-Echoantwort wurde empfangen. Wenn Sie diesen Statuscode erhalten, enthalten die anderen PingReply Eigenschaften gültige Daten.

DestinationNetworkUnreachable 11002

Fehler bei der ICMP-Echoanforderung, da das Netzwerk, das den Zielcomputer enthält, nicht erreichbar ist.

DestinationHostUnreachable 11003

Fehler bei der ICMP-Echoanforderung, da der Zielcomputer nicht erreichbar ist.

DestinationProhibited 11004

Fehler bei der ICMPv6-Echoanforderung, da der Kontakt mit dem Zielcomputer nicht zulässig ist. Dieser Wert gilt nur für IPv6.

DestinationProtocolUnreachable 11004

Fehler bei der ICMP-Echoanforderung, da der Zielcomputer, der in einer ICMP-Echonachricht angegeben ist, nicht erreichbar ist, da es das Protokoll des Pakets nicht unterstützt. Dieser Wert gilt nur für IPv4. Dieser Wert wird in IETF RFC 1812 als "Kommunikation administrativ verboten" beschrieben.

DestinationPortUnreachable 11005

Fehler bei der ICMP-Echoanforderung, da der Port auf dem Zielcomputer nicht verfügbar ist.

NoResources 11006

Fehler bei der ICMP-Echoanforderung aufgrund unzureichender Netzwerkressourcen.

BadOption 11007

Fehler bei der ICMP-Echoanforderung, da sie eine ungültige Option enthält.

HardwareError 11008

Fehler bei der ICMP-Echoanforderung aufgrund eines Hardwarefehlers.

PacketTooBig 11009

Fehler bei der ICMP-Echoanforderung, da das Paket, das die Anforderung enthält, größer als die maximale Übertragungseinheit (MTU) eines Knotens (Router oder Gateways) zwischen der Quelle und dem Ziel ist. Die MTU definiert die maximale Größe eines übertragungsfähigen Pakets.

TimedOut 11010

Die ICMP-Echoantwort wurde nicht innerhalb der vorgesehenen Zeit empfangen. Die für Antworten zulässige Standardzeit beträgt 5 Sekunden. Sie können diesen Wert mit den Methoden oder SendAsync Methoden Send ändern, die einen timeout Parameter verwenden.

BadRoute 11012

Fehler bei der ICMP-Echoanforderung, da keine gültige Route zwischen den Quell- und Zielcomputern vorhanden ist.

TtlExpired 11013

Fehler bei der ICMP-Echoanforderung, da der Wert "Time to Live" (TTL) null erreicht hat, wodurch der Weiterleitungsknoten (Router oder Gateway) das Paket verworfen hat.

TtlReassemblyTimeExceeded 11014

Fehler bei der ICMP-Echoanforderung, da das Paket für die Übertragung in Fragmente aufgeteilt wurde und alle Fragmente nicht innerhalb der Zeit empfangen wurden, die für eine erneute Zusammenschaltung vorgesehen wurden. RFC 2460 gibt 60 Sekunden als Zeitlimit an, in dem alle Paketfragmente empfangen werden müssen.

ParameterProblem 11015

Fehler bei der ICMP-Echoanforderung, da beim Verarbeiten des Paketheaders Probleme bei einem Knoten (Router oder Gateway) aufgetreten sind. Dies ist der Status, wenn die Kopfzeile z. B. ungültige Felddaten oder eine nicht erkannte Option enthält.

SourceQuench 11016

Fehler bei der ICMP-Echoanforderung, da das Paket verworfen wurde. Dies tritt auf, wenn die Ausgabewarteschlange des Quellcomputers über unzureichenden Speicherplatz verfügt oder Pakete zu schnell an das Ziel gelangen, um verarbeitet zu werden.

BadDestination 11018

Fehler bei der ICMP-Echoanforderung, da die ZIEL-IP-Adresse keine ICMP-Echoanforderungen empfangen kann oder nie im Zieladressenfeld eines IP-Datagramms angezeigt werden soll. Beispielsweise wird dieser Status durch Aufrufen Send und Angeben der IP-Adresse "000.0.0.0" zurückgegeben.

DestinationUnreachable 11040

Fehler bei der ICMP-Echoanforderung, da der Zielcomputer, der in einer ICMP-Echonachricht angegeben ist, nicht erreichbar ist. die genaue Ursache des Problems ist unbekannt.

TimeExceeded 11041

Fehler bei der ICMP-Echoanforderung, da der Wert "Time to Live" (TTL) null erreicht hat, wodurch der Weiterleitungsknoten (Router oder Gateway) das Paket verworfen hat.

BadHeader 11042

Fehler bei der ICMP-Echoanforderung, da der Header ungültig ist.

UnrecognizedNextHeader 11043

Fehler bei der ICMP-Echoanforderung, da das Feld "Nächster Header" keinen erkannten Wert enthält. Das Feld "Nächster Header" gibt den Erweiterungsheadertyp (sofern vorhanden) oder das Protokoll über der IP-Ebene an, z. B. TCP oder UDP.

IcmpError 11044

Fehler bei der ICMP-Echoanforderung aufgrund eines ICMP-Protokollfehlers.

DestinationScopeMismatch 11045

Fehler bei der ICMP-Echoanforderung, da sich die In einer ICMP-Echonachricht angegebene Quelladresse und Zieladresse nicht im gleichen Bereich befinden. Dies wird in der Regel durch einen Router verursacht, der ein Paket über eine Schnittstelle weiterleitt, die sich außerhalb des Bereichs der Quelladresse befindet. Adressbereiche (link-local, site-local und global scope) bestimmen, wo im Netzwerk eine Adresse gültig ist.

Beispiele

Im folgenden Codebeispiel wird eine ICMP-Echonachricht gesendet und der Status überprüft.

using System;
using System.Net;
using System.Net.NetworkInformation;
using System.Text;

namespace Examples.System.Net.NetworkInformation.PingTest
{
    public class PingExample
    {
        // args[0] can be an IPaddress or host name.
        public static void Main (string[] args)
        {
            Ping pingSender = new Ping ();
            PingOptions options = new PingOptions ();

            // Use the default Ttl value which is 128,
            // but change the fragmentation behavior.
            options.DontFragment = true;

            // Create a buffer of 32 bytes of data to be transmitted.
            string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
            byte[] buffer = Encoding.ASCII.GetBytes (data);
            int timeout = 120;
            PingReply reply = pingSender.Send (args[0], timeout, buffer, options);
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine ("Address: {0}", reply.Address.ToString ());
                Console.WriteLine ("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine ("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine ("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine ("Buffer size: {0}", reply.Buffer.Length);
            }
        }
    }
}
open System.Net.NetworkInformation
open System.Text

// args[0] can be an IPaddress or host name.
[<EntryPoint>]
let main args =
    let pingSender = new Ping()

    // Use the default Ttl value which is 128,
    // but change the fragmentation behavior.
    let options = PingOptions()
    options.DontFragment <- true

    // Create a buffer of 32 bytes of data to be transmitted.
    let data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    let buffer = Encoding.ASCII.GetBytes data
    let timeout = 120
    let reply: PingReply = pingSender.Send(args.[0], timeout, buffer, options)

    match reply.Status with
    | IPStatus.Success ->
        printfn "Address: %O" reply.Address
        printfn "RoundTrip time: %d" reply.RoundtripTime
        printfn "Time to live: %d" reply.Options.Ttl
        printfn "Don't fragment: %b" reply.Options.DontFragment
        printfn "Buffer size: %d" reply.Buffer.Length
        0
    | _ ->
        eprintfn "Error sending ping: %O" reply
        eprintfn "Error was: %O" reply.Status
        1

Hinweise

Die Ping Klasse verwendet die Werte in dieser Enumeration, um die PingReply.Status Eigenschaft festzulegen. Die Ping Klasse gibt Objekte zurück PingReply , wenn Sie die Ping.Send Methoden aufrufen, Ping.SendAsync um zu überprüfen, ob Sie einen Computer über das Netzwerk erreichen können.

Warnung

Die Enumerationswerte DestinationProhibited und DestinationProtocolUnreachable haben denselben numerischen Wert. Dies ist möglich, da DestinationProhibited nur für IPv6 und DestinationProtocolUnreachable gilt nur für IPv4.

Gilt für: