Ich schreibe eine Anwendung, die Pakete mit SharpPcap injiziert.Ermitteln der nächsten Hop-MAC-Adresse in C#
Da ich jedoch die Pakete selbst konstruiere und nur die IP-Adresse des Ziels kenne, muss ich die physikalische Adresse des nächsten Hops bestimmen. Ich kann immer einen Ping an die entfernte IP address senden, schnüffle es und bekomme die MAC address aus dem geschnüffelten Paket. Ich hatte jedoch gehofft, dass es in C# einen weniger komplizierten Weg gibt.
Offensichtlich ist es auch sehr hilfreich, die IP-Adresse des nächsten Hops zu erhalten, da ich dann SendArp verwenden kann, um seine MAC-Adresse zu bestimmen.
Die Routing-Tabelle wird ausreichen. Wie bekomme ich das mit Code?
das wahr ist, wenn die Zielmaschine auf meinem lan ist. Wie würden Sie das erste Gateway (und seine MAC-Adresse) in der Route zu einem Remote-Rechner ermitteln (im Code, ohne Traceroute) – r0u1i
Erhalten Sie einfach das Standard-Gateway des Rechners. Methoden hierfür finden Sie im System.Net.NetworkInformation-Namespace. –
Und was passiert, wenn es einige Netzwerkadressen gibt, die über ein anderes Gateway als das Standardgateway weitergeleitet werden? gibt es eine Möglichkeit, auf die Routing-Tabelle zuzugreifen und sie abzufragen? – r0u1i