Re: kleines netzwerk tool

From: Marian Hettwer <mh(at)kernel32.de>
Date: Wed, 24 Jan 2007 15:08:34 +0100

Hej Oli,

kurzer ToFu reply:
Danke für den Code schnipsel. Das ist ziemlich genau das, was ich suche zum testen :-)
Okay, es ist in python, aber was solls. Das Prinzip ist klar. Danke Danke!

Beste Grüße,
Marian

On Wed, 24 Jan 2007 14:04:01 +0100 (CET), Oliver Fromme <olli(at)lurza.secnetix.de> wrote:
> Marian Hettwer wrote:
> > ich bin grade auf der Suche nach einem kleinen Tool welches ich
> > einsetzen kann, um zum Beispiel einen connect auf einen Apachen zu
> > machen, einen Request abzusetzen, aber dann die entsprechenden
> > Rückgabewerte des apachen zu ignorieren.
> > Im speziellen Fall möchte ich einen beliebigen String dem apachen vor
> > die füße werfen und dann aber ignorieren, daß er die Verbindung
> beenden
> > möchte. Sprich die FIN's ignorieren.
>
> Ein fertiges Tool dafür kenne ich nicht, aber man kann das
> trivial selber schreiben. In Python wären das folgende
> Zeilen (z.B. als "connect-test" speichern, chmod 755, und
> dann mit "./connect-test" aufrufen):
>
> ================== Schnippel ==================
> #!/usr/bin/env python
>
> import socket, time
>
> sock = socket.socket()
> sock.connect(("www.deinedomain.de", 80))
> sock.send("FOOBAR\n\n")
>
> while True:
> data = sock.recv(4096)
> if data:
> print data
> else:
> break
>
> time.sleep(3600)
> ================== Schnippel ==================
>
> Das "sleep" am Schluss ist notwendig, damit sich das Skript
> nicht sofort beendet, denn dann würde der Kernel automa-
> tisch den Socket schliessen.
>
> Wenn ich das bei mir auf einen lokalen Webserver starte,
> sehe ich die halboffene Verbindung wie folgt im netstat:
>
> tcp4 0 0 127.0.0.1.80 127.0.0.1.62927 FIN_WAIT_2
> tcp4 0 0 127.0.0.1.62927 127.0.0.1.80 CLOSE_WAIT
>
> Die erste Zeile (FIN_WAIT_2) gehört zum Server-Socket und
> bedeutet, dass er ein FIN geschickt hat (und dies auch vom
> TCP/IP-Stack des Clients per ACK bestätigt bekommen hat),
> aber noch kein FIN vom Client bekommen hat. Die zweite
> Zeile (CLOSE_WAIT) zeigt den entsprechenden Status aus
> Sicht des Clients.
>
> Die while-Schleife kannst Du theoretisch auch weglassen,
> so dass die Antwort des Servers gar nicht gelesen wird.
> Die Daten bleiben dann in der Receive-Queue, wie man der
> zweiten Spalte von netstat entnehmen kann:
>
> tcp4 0 0 127.0.0.1.80 127.0.0.1.53518 FIN_WAIT_2
> tcp4 8432 0 127.0.0.1.53518 127.0.0.1.80 CLOSE_WAIT
>
> Gruß
> Olli
>
> --
> Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
> Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
> Any opinions expressed in this message may be personal to the author
> and may not necessarily reflect the opinions of secnetix in any way.
>
> "C is quirky, flawed, and an enormous success."
> -- Dennis M. Ritchie.

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 24 Jan 2007 - 15:11:10 CET

search this site