ICMP Tunneling IP vs. Tunneling TCP?

0

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

Natürlich weiß ich, dass dies für die verschiedenen OSI-Ebenen relevant sein wird, aber was wird tatsächlich auf einer anderen Ebene getan?

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

Shane
quelle
Wenn Sie die Frage nicht beantworten, aber TCP tunneln, werden nur VERBINDUNGEN im Sinne von TCP getunnelt, keine DATAGRAMME wie anderer ICMP-Verkehr und UDP.
sinni800

Antworten:

0

Tunneln von IP-Daten mithilfe von ICMP-Paketen

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

Tunneln von TCP-Daten über ICMP

ICMP-Pakete werden verwendet, um TCP-Segmente oder IP-Datagramme zu kapseln, die nur aus TCP-Segmenten bestehen.

Mit einer ICMP-Echoanforderung kann der Absender eine Nutzlast angeben. Ein "Hack" von ICMP könnte zum Beispiel diese Tatsache ausnutzen und ein TCP-Paket in die Nutzlast stellen. Etwas auf der Empfängerseite müsste das wissen und das Spiel auch spielen. Wenn Sie mit den anderen ICMP-Anforderungstypen kreativ werden, können Sie wahrscheinlich viel tun.

Ein großartiges Beispiel für das Verdrehen eines Protokolls in Richtung einer Verwendung, die nicht beabsichtigt ist, ist iodine( http://code.kryo.se/iodine/ ), das IP über DNS-Anforderungen tunnelt.

(Randnotiz: Beachten Sie, dass es im IP-Header ein "Protokollfeld" gibt, das angibt, welches Protokoll der oberen Schicht übertragen wird. TCP ist Protokoll Nr. 6, GRE ist Protokoll Nr. 47 usw. ( http: //www.iana. org / assignments / protocol-numbers / protocol-numbers.xml ))

LawrenceC
quelle