Iptables-, tcp- und icmp-Fragen

Hi,

wie schaut es aus, kann sich ein icmp-Paket auf eine Verbindung beziehen oder einer angehören? Also angehören würde ich ja fast ausschließen, aber sich darauf beziehen?

So weit ich das beurteilen kann, dürfte es nicht gehen, schon auf Grund des icmp-Paketaufbaus.

Mit beziehen meine ich im Sinne von iptables, nicht wirklich im Sinne von udp, tcp oder icmp.

Und dann noch, was besagt folgende Regel:

$iptable -t filter -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Was meint das? Also ich meine nicht die gesamte Regel, sondern nur das ALL und das NONE.

Vielen Dank.

Mit freundlichen Grüßen

Mailerdemon

P.S. Wenn ich mal wieder Zeit habe werde ich als Gegenleistung natürlich auch wieder Fragen beantworten

-------------Jeder Mensch ist Schüler und Lehrer eines jeden anderen-------------------

Hi,

Hallo,

wie schaut es aus, kann sich ein icmp-Paket auf eine
Verbindung beziehen oder einer angehören?

Genaugenommen gibt es natuerlich nur bei TCP echte Verbindungen durch den 3-way-handshake. Fuer UDP und ICMP trickst netfilter etwas rum: es merkt sich Quintupel/Triade aus Protokoll, {src,dst}-{IP#,port} bzw. ohne Port bei ICMP. Beim ersten Auftreten eines solchen Tupels bekommt das Paket den Status NEW. Kommt ein passendes Antwortpaket zurueck, das auch zum Tupel passt, wird ihm der Status ESTABLISHED zugeordnet. Dabei gibt es bei ICMP eine recht beschraenkte Menge von ueberhaupt gueltigen Paketen, die von dieser state machine verarbeitet werden: wesentlich ist das echo request fuer NEW und echo reply fuer ESTABLISHED. (Siehe auch [1].)

Also angehören würde ich ja fast ausschließen, aber sich
darauf beziehen?

RELATED laeuft ziemlich danebenher: die meisten ICMP-Fehlermeldungen sind RELATED. Im ICMP-body ist dazu eine Kopie des headers des originalen, fehlerverursachenden Paketes enthalten. Diesen body wertet netfilter aus, besieht sich, ob vorher eine Verbindung mit passendem Tupel im connection tracking existiert und vergibt ggf. den Status RELATED.

Mit beziehen meine ich im Sinne von iptables, nicht wirklich
im Sinne von udp, tcp oder icmp.

Das verstehe ich nicht.

$iptable -t filter -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Was meint das? Also ich meine nicht die gesamte Regel, sondern
nur das ALL und das NONE.

Siehe [2]. Es werden alle TCP-flags ueberprueft und keines davon darf gesetzt sein. Also ein ziemlich kaputtes Paket.

P.S. Wenn ich mal wieder Zeit habe werde ich als Gegenleistung
natürlich auch wieder Fragen beantworten

Jaja, das sagen sie immer,
Gruss vom Frank.
===footnotes===
[1] http://iptables-tutorial.frozentux.net/iptables-tuto…
[2] http://iptables-tutorial.frozentux.net/iptables-tuto…

Soweit ich das seh,wird der ICMP doch nur für Trace/Ping benutzt.
Oder giebts noch andere sinnvolle Anwendung dafür?

Soweit ich das seh,wird der ICMP doch nur für Trace/Ping
benutzt.

Nein.

Oder giebts noch andere sinnvolle Anwendung dafür?

Ja. Steht in RFC792 und auch in den links, die ich gepostet habe und Du geruhtest, ungelesen zu loeschen.

HTH,
Gruss vom Frank.