2009-04-05 11 views
0

Ich möchte ein Java-Programm schreiben, in dem, wenn ich die Ziel-IP-Adresse gebe, ich die Informationen über den nächsten Hub erhalten werde, um diese IP zu erreichen.Wie bekomme ich den nächsten Hub?

Wie kann ich das erreichen?


Dank

Bapi

Antwort

2

Java-Programm ??? Sie haben tracert ...

Außerdem sollten Sie erklären, was genau Sie mit "Hub" meinen.

1

Die gebräuchlichste Methode zur Topologieerkennung in IP-Netzwerken besteht darin, Pakete (z. B. ICPM ECHO REQUEST) an Zieladressen mit sehr kleinen TTL Werten zu senden. Normalerweise antwortet der letzte gültige Knoten, den Sie mit einer bestimmten DLL erreichen, mit einer ICMP-Fehlermeldung, die Ihnen mitteilt, dass das Paket aufgrund seines Lebensendes verloren gegangen ist, wodurch die IP-Adresse des Geräts angezeigt wird.

This question's Antwort schlägt vor, dass die Java-Socket-API die TTL nur auf Multicast-Sockets festlegen kann. Um dies zu umgehen, könnten Sie versuchen, mit rohen IP-Sockets zu arbeiten, indem Sie eine Drittanbieter-Bibliothek wie RockSaw verwenden, da im JDK keine rohe IP-Unterstützung existiert (die bug on SUN's tracker von 2002 (!) Verlangt, dass sie geschlossen wurde. "Wird nicht behoben ").

+0

Der Fehler, den Sie verweisen, sagt der Anfrage aufgeteilt wurde in zwei verschiedene RFEs. Bitte lesen Sie den Abschnitt "Evaluation" –

+0

Einer von denen ist "4727550 verfolgt die Voraussetzung für die vollständige RAW-Socket-Unterstützung", der Fehler, mit dem ich verlinkt und der andere ist "4639861 verfolgt die Anforderung, Erreichbarkeit eines Hosts zu testen", die behoben wurde , ist aber für die Frage irrelevant. –

Verwandte Themen