Am Sonntag, 1. Mai 2005 21:56 schrieb Ruediger Meier: [...]
Ja das denke ich auch aber kann iptables auch in die Daten der Pakete hineinschauen oder kann es standardmaessig nur die header (ENet, IP, udp, etc.) auswerten?
[..]
Meine Erfahrung mit tcpdump sind gering. Ich vermute Du willst alle Pakete an Port 27960 UDP mitloggen und anschließend auswerten ("rcon"?). Korrigiere mich wenn ich falsch liege.
Eben nicht alle sondern nur die, die deren Datenteil (ohne header) mit ff ff ff ff 72 63 6f 6e (siehe meine andere mail) beginnt, wobei "ff ff ff ff" eine Protokoll spezifische Bedeutung hat und "72 63 6f 6e" = "rcon" in ASCII-code.
iptables -A INPUT -s $EXTIF -p udp --dport 27960 -j LOG \ --log-prefix "Zugriff auf UDP-Port 27960: " (--log-level 01234567)
Prinzipiell richtig aber
1. es reicht mir nicht zu sehen DASS Pakete gesendet wurden, sondern ich moechte die kompletten Pakete zur manuellen Analyse abspeichern! Geht das mit iptables?
2. wie gesagt, das waeren viel zu viel Pakete. Ich muss sie nach "rcon" greppen. Dazu fand ich folgende Option fuer iptables: -m string --string "rcon" Allerdings klappt das nicht mit meinem iptables (SuSE 9.1). Man muss es wohl irgendwie patchen (libipt_string.so). Auf SuSE 8.2 und 9.0 ging das wohl von Hause aus so.
Brauchst dann wohl einen neuen Kernel. "String" muss dann zusammen mit dem Target Queue verwendet werden. Das betroffene Paket kann dann soweit ich weis durch ein anderes Programm weiterverarbeitet werden. Dazu muss das Modul ip_queue geladen sein. In /proc/sys/net/ipv4/ip_queue_maxlen wird die Queue-Tiefe (?) eingestellt. Der Status wird in /proc/net/ip_queue angezeigt. Wie das Paket dann weiterverarbeitet wird weis ich leider auch nicht.
Also mir waere eine iptables Loesung auch lieber. Im Moment habe ich mir nun diese tcpdump Zeile ausgedacht.
$ tcpdump -p -A 'dst host $MY_IP and port 27960 and udp[12:4] = 0x72636f6e'
gibt also alle IP-Pakete aus deren udp-Pakete vom 12. bis 15. Byte "72 63 6f 6e" also "rcon" enthalten.
Zum Einlesen ist diese Buch sehr gut geeignet: http://www.oreilly.de/german/freebooks/linuxfireger/index.html
Danke das werde ich mir mal anschauen. Speziell zu "tcpdump 'Protokoll[x:y]'" hat mir das hier weiter geholfen http://www-e.uni-magdeburg.de/steschum/tcpdump.pdf und zum Aufbau der verschiedenen Protokoll header ist hier sehr schoen: http://www.foobar-cpa.de/documents/admin-_-security/script.html#scrip tch2.html
cu, Ruediger
Gruss Dirk