ICMP-Tunneling-IP im Vergleich zu Tunneling-TCP?

1370
Shane

Könnte jemand bitte den Unterschied zwischen dem Tunneln von IP-Daten mit ICMP-Paketen und dem Tunneln von TCP-Daten über ICMP erklären?

Natürlich weiß ich, dass dies für die verschiedenen OSI-Schichten relevant sein wird, aber was wird eigentlich auf einer anderen Ebene gemacht?

Ich verstehe ein wenig das allgemeine Konzept des Tunnelns, aber nicht das "Tunneln von IP oder TCP über ICMP". Was passiert eigentlich?

0
Wenn Sie die Frage nicht beantworten, aber TCP-Tunneling durchführen, werden nur CONNECTIONS im TCP-Sinne getunnelt, nicht DATAGRAMS wie anderer ICMP-Verkehr und UDP. sinni800 vor 12 Jahren 0

1 Antwort auf die Frage

0
LawrenceC

Tunneln von IP-Daten mithilfe von ICMP-Paketen

ICMP-Pakete werden verwendet, um IP-Datagramme einzukapseln. Dieses IP-Datagramm kann sein: ein UDP-Paket, Teil eines TCP-Segments, Teil einer SCTP / GRE / MPLS-Protokolldateneinheit oder ein beliebiges anderes Protokoll, das höher ist als Schicht 2.

Tunneln von TCP-Daten über ICMP

ICMP-Pakete werden zum Einkapseln von TCP-Segmenten oder IP-Datagrammen verwendet, die nur aus TCP-Segmenten bestehen.

Bei einer ICMP-Echoanfrage kann der Sender eine Nutzlast angeben. Ein "Hack" von ICMP könnte zum Beispiel diese Tatsache ausnutzen und ein TCP-Paket in die Nutzlast setzen. Etwas auf der Empfangsseite müsste dies wissen und auch das Spiel spielen. Wenn Sie mit den anderen ICMP-Anfragetypen kreativ werden, könnten Sie wahrscheinlich eine Menge tun.

Ein gutes Beispiel für die Verdrehung eines Protokolls in Richtung einer nicht beabsichtigten Verwendung ist iodine( http://code.kryo.se/iodine/ ), das IP über DNS-Anfragen tunnelt.

(Randbemerkung: Beachten Sie, dass sich im IP-Header ein "Protokollfeld" befindet, das angibt, welches Protokoll der höheren Schicht transportiert wird. TCP ist Protokoll Nr. 6, GRE ist Protokoll Nr. 47 usw.) ( http: //www.iana.). org / Aufgaben / Protokollnummern / Protokollnummern.xml ))