IPStatus Sabit listesi
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir bilgisayara İnternet Denetim İletisi Protokolü (ICMP) yankı iletisi gönderme durumunu bildirir.
public enum class IPStatus
public enum IPStatus
type IPStatus =
Public Enum IPStatus
- Devralma
Alanlar
BadDestination | 11018 | Hedef IP adresi ICMP yankı isteklerini alamadığı veya hiçbir IP veri biriminin hedef adres alanında görünmemesi gerektiği için ICMP yankı isteği başarısız oldu. Örneğin, "000.0.0.0" IP adresini çağırmak Send ve belirtmek bu durumu döndürür. |
BadHeader | 11042 | Üst bilgi geçersiz olduğundan ICMP yankı isteği başarısız oldu. |
BadOption | 11007 | Geçersiz bir seçenek içerdiğinden ICMP yankı isteği başarısız oldu. |
BadRoute | 11012 | Kaynak ve hedef bilgisayarlar arasında geçerli bir yol olmadığından ICMP yankı isteği başarısız oldu. |
DestinationHostUnreachable | 11003 | Hedef bilgisayara ulaşılamadığından ICMP yankı isteği başarısız oldu. |
DestinationNetworkUnreachable | 11002 | Hedef bilgisayarı içeren ağ ulaşılabilir olmadığından ICMP yankı isteği başarısız oldu. |
DestinationPortUnreachable | 11005 | Hedef bilgisayardaki bağlantı noktası kullanılamadığından ICMP yankı isteği başarısız oldu. |
DestinationProhibited | 11004 | Hedef bilgisayarla iletişim yönetimsel olarak yasaklandığından ICMPv6 yankı isteği başarısız oldu. Bu değer yalnızca IPv6 için geçerlidir. |
DestinationProtocolUnreachable | 11004 | ICMP yankı iletisinde belirtilen hedef bilgisayar paketin protokollerini desteklemediğinden erişilemediğinden ICMP yankı isteği başarısız oldu. Bu değer yalnızca IPv4 için geçerlidir. Bu değer IETF RFC 1812'de İletişim Yönetimsel Olarak Yasaklandı olarak açıklanmıştır. |
DestinationScopeMismatch | 11045 | ICMP yankı iletisinde belirtilen kaynak adresi ve hedef adresi aynı kapsamda olmadığından ICMP yankı isteği başarısız oldu. Bu durum genellikle kaynak adresin kapsamı dışında bir arabirim kullanarak bir paketi yönlendiren yönlendiriciden kaynaklanır. Adres kapsamları (bağlantı-yerel, site-yerel ve genel kapsam) bir adresin ağda nerede geçerli olduğunu belirler. |
DestinationUnreachable | 11040 | ICMP yankı iletisinde belirtilen hedef bilgisayara ulaşılamadığı için ICMP yankı isteği başarısız oldu; sorunun tam nedeni bilinmiyor. |
HardwareError | 11008 | ICMP yankı isteği bir donanım hatası nedeniyle başarısız oldu. |
IcmpError | 11044 | ICMP yankı isteği bir ICMP protokolü hatası nedeniyle başarısız oldu. |
NoResources | 11006 | Yetersiz ağ kaynakları nedeniyle ICMP yankı isteği başarısız oldu. |
PacketTooBig | 11009 | İsteği içeren paket, kaynak ve hedef arasında bulunan bir düğümün (yönlendirici veya ağ geçidi) en yüksek iletim biriminden (MTU) daha büyük olduğundan ICMP yankı isteği başarısız oldu. MTU, iletilebilen bir paketin boyut üst sınırını tanımlar. |
ParameterProblem | 11015 | Bir düğüm (yönlendirici veya ağ geçidi) paket üst bilgisini işlerken sorunlarla karşılaştığından ICMP yankı isteği başarısız oldu. Bu durum, örneğin üst bilgi geçersiz alan verileri veya tanınmayan bir seçenek içeriyorsa durumdur. |
SourceQuench | 11016 | Paket atıldığı için ICMP yankı isteği başarısız oldu. Bu durum, kaynak bilgisayarın çıkış kuyruğunda depolama alanı yetersiz olduğunda veya paketler hedefe işlenemeyecek kadar hızlı ulaştığında oluşur. |
Success | 0 | ICMP yankı isteği başarılı oldu; ICMP yankı yanıtı alındı. Bu durum kodunu aldığınızda, diğer PingReply özellikler geçerli veriler içerir. |
TimedOut | 11010 | ICMP yankı yanıtı ayrılan süre içinde alınmadı. Yanıtlar için izin verilen varsayılan süre 5 saniyedir. Parametre alan |
TimeExceeded | 11041 | ICMP yankı isteği, Yaşam Süresi (TTL) değeri sıfıra ulaştığından başarısız oldu ve iletim düğümünü (yönlendirici veya ağ geçidi) paketi atmasına neden oldu. |
TtlExpired | 11013 | ICMP yankı isteği, Yaşam Süresi (TTL) değeri sıfıra ulaştığından başarısız oldu ve iletim düğümünü (yönlendirici veya ağ geçidi) paketi atmasına neden oldu. |
TtlReassemblyTimeExceeded | 11014 | Paket iletim için parçalara ayrıldığından ve parçaların tümü yeniden birleştirme için ayrılan süre içinde alınmadığından ICMP yankı isteği başarısız oldu. RFC 2460 , tüm paket parçalarının alınması gereken süre sınırı olarak 60 saniye belirtir. |
Unknown | -1 | ICMP yankı isteği bilinmeyen bir nedenle başarısız oldu. |
UnrecognizedNextHeader | 11043 | Sonraki Üst Bilgi alanı tanınan bir değer içermediğinden ICMP yankı isteği başarısız oldu. Sonraki Üst Bilgi alanı, uzantı üst bilgisi türünü (varsa) veya IP katmanının üzerindeki protokolü (örneğin, TCP veya UDP) gösterir. |
Örnekler
Aşağıdaki kod örneği bir ICMP yankı iletisi gönderir ve durumu denetler.
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
using namespace System::Text;
// args[1] can be an IPaddress or host name.
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
Ping ^ pingSender = gcnew Ping;
PingOptions ^ options = gcnew 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";
array<Byte>^buffer = Encoding::ASCII->GetBytes( data );
int timeout = 120;
PingReply ^ reply = pingSender->Send( args[ 1 ], 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 );
}
}
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
Açıklamalar
sınıfı, Ping özelliğini ayarlamak PingReply.Status için bu numaralandırmadaki değerleri kullanır. ağ Ping üzerinden bir bilgisayara ulaşıp ulaşamayacağınızı denetlemek için veya Ping.SendAsync yöntemlerini çağırdığınızda Ping.Send sınıfı nesneleri döndürürPingReply.
Uyarı
DestinationProhibited ve DestinationProtocolUnreachable sabit listesi değerleri aynı sayısal değere sahiptir. Bu mümkündür çünkü DestinationProhibited yalnızca IPv6 için geçerlidir ve DestinationProtocolUnreachable yalnızca IPv4 için geçerlidir.