2017-11-05 2 views
-1

Ich sende derzeit eine ICMP-Echoanforderung unter Verwendung der IcmpSendEcho-Funktion. Ich versuche, die Anfrage auf einem anderen Windows-Rechner zu empfangen und dann eine bestimmte Antwort zurückzusenden, je nachdem, was die empfangenen Daten waren.Lesen von ICMP-Echoanforderungsdaten

Ich habe ein paar Artikel über ICMP-Tunneling gelesen, und schaute über RFC 792, so glaube ich, dass es möglich sein sollte, aber ich kann nicht herausfinden, wie. Idealerweise könnte ich eine Warteschlange haben, in die alle ICMP-Anfragen eingefügt und dann nacheinander bearbeitet werden. Jede Hilfe, die mich in die richtige Richtung weist, wäre fantastisch, weil ich nicht weiß, was ich als nächstes versuchen soll.

+0

Was ist Ihr aktuelles Problem? Problem mit der Firewall? Problem beim Senden oder Empfangen der Pakete? Hast du das mit einem Packet Sniffer überprüft? Oder suchen Sie nach Code? Vielleicht werden einige Ihrer Fragen hier beantwortet: https://stackoverflow.com/questions/626541/listen-for-icmp-packets-in-c-sharp –

+0

Sorry erlauben Sie mir, zu klären. Ich versuche, bestimmte http-Anfragen durch ICMP-Verkehr zu tunneln, indem ich das Datenfeld in der Echo-Anfrage verwende und dann Daten zurückschicke, indem ich das Echo-Antwort-Datenfeld verwende. Ich kann die Daten leicht senden, aber ich kann diese Daten nicht empfangen und kann deshalb nicht in der Echoantwort antworten. Ich versuche herauszufinden, ob es möglich ist, ICMP-Verkehr zu empfangen, die Standardantwort zu unterdrücken und stattdessen meine eigene Antwort zurückzusenden. Hoffentlich ist das klarer. – pchihak

Antwort

0

Here ist, was scheint, eine C# -Implementierung von ICMP-Tunneling zu sein. Da es so aussieht, als ob Sie dies unter Verwendung von C++ in einer Windows-Umgebung versuchen, wird Ihnen dies zumindest in die richtige Richtung weisen.