HTTP Splitter verfuegbar?

#0
29.02.2004, 21:08
Member
Avatar framp

Beiträge: 326
#1 Weiss jemand ob es ein Linux Tool gibt welches Apache vorschaltbar ist und es mir erlaubt mit einem HTTP Browser exakt die Seiten zu tracen, die jemand, der auf meinen Server zugreift, sieht?
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
29.02.2004, 23:05
Member

Beiträge: 201
#2 Das geht ganz einfach mittels netcat. Einfach den Apache Server auf einen anderen Port wie 81 legen und dann mit netcat alles an Port 80 annehmen und an Port 81 weiterreichen und umgekehrt. Netcat kannst du dann sagen ob er den ganzen Transfer loggen soll oder im Terminal ausgeben usw.

Netcat gibts hier: http://netcat.sourceforge.net/
Seitenanfang Seitenende
01.03.2004, 17:58
Ehrenmitglied

Beiträge: 831
#3 Nicht direkt vorgeschaltet :

tail -f /var/log/deineapache.log

mfg p2k
__________
http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de
Seitenanfang Seitenende
01.03.2004, 18:26
Member

Themenstarter
Avatar framp

Beiträge: 326
#4 Thx, aber das ist eigentlich nicht was ich suche. Ich moechte mich mit meinem Mozilla auf ein T-Stueck setzen, um exakt die HTML Seiten zu sehen, die jemand anders, der auf meinen HTTP Server zugreift, zu sehen.

Das apachelog sagt mir zwar welche Seiten gesendet werden aber zeigt nicht die Seite wie sie der Client sieht. Dasselbe Problem existiert bei netcat. Leider.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
01.03.2004, 22:25
Member

Beiträge: 201
#5 Ähh, mit netcat geht das mitloggen aber gut. Also sich mitten in die "Leitung" zwischenhängen und alles was durchgeht mitloggen lassen. Gibt es sogar verschiedene Optionen. Den Mozilla damit aber irgendwie "fernsteuern" lassen ist aber mit keinem Programm so möglich. Vielleicht hilft es zu erklären was genau mit diesem Vorgehen geplant ist.

Netcat Infos gibt es sonst hier: http://www.zoran.net/wm_resources/netcat_hobbit.asp

Zitat

Bind a listening netcat to a local port, and have it run a script which in turn runs another netcat to the real service and captures the hex dump to a log file. This sets up a transparent relay between your local port and wherever the real service is. Be sure that the script-run netcat does *not* use -v, or the extra info it sends to standard error may confuse the protocol.
Dieser Beitrag wurde am 01.03.2004 um 22:29 Uhr von MacDefender editiert.
Seitenanfang Seitenende
01.03.2004, 23:05
Member

Themenstarter
Avatar framp

Beiträge: 326
#6 Das mitLoggen ist auch OK und mit netcat moeglich. Ich moechte aber mitSehen, also genau das, was ein Client auf meinem HTTP Server sieht mit einem zweiten Browser sehen.
Es muss also nur ein Programm auf port 80 receiven und den Traffic auf z.B. port 8080 (HTTP Server) weiterleiten und gleichzeitig einen weiteren Port oeffnen (z.B. 4711), zu dem ich mich mit meinem Mozilla connecte, selektiere welche IP Adresse ich sehen moechte und dann genau dasselbe sehe, wie der Client.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Seitenanfang Seitenende
02.03.2004, 05:50
Ehrenmitglied

Beiträge: 831
#7

Code

./nc -l -s 192.168.2.102 -p 80 -e test.sh

cat test.sh
#!/bin/bash
/root/poiin/progs/netcat/nc -o testausgabe.nc
localhost 81
Zu beachten ist das die Logs bei jeder neuen
Verbindung überschrieben werden.
Ich gehe nun hier nicht darauf ein wie dies zu ändern
ist (sollte aber kein Problem sein).


Jedenfalls habe ich das grade getestet und es funktioniert

p2k
__________
http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de
Seitenanfang Seitenende
03.03.2004, 20:37
Member

Themenstarter
Avatar framp

Beiträge: 326
#8 @p2k

Zitat

If netcat is compiled with -DGAPING_SECURITY_HOLE, the -e argument specifies a program to exec after making or receiving a successful connection. In the listening mode, this works similarly to "inetd" but only for a single instance. Use with GREAT CARE. This piece of the code is normally not enabled; if you know what you're doing, have fun. This hack also works in UDP mode. Note that you can only supply -e with the name of the program, but no arguments. If you want to launch something with an argument list, write a two-line wrapper script or just use inetd like always.
Deshalb geht bei mir kein -e ;) und ich kann es momentan nicht ausprobieren.

Allerdings verhaelt sich das immer noch nicht so wie ich es suche. Mein Verstaendnis ist, dass auf port 80 gelauscht wird und dann auf port 81 weitergeroutet wird. Parallell wird ein testausgabe.nc erzeugt welches einen trace enthaelt. Ich kann aber nicht mit Mozilla zu einem port 82 connecten und sehen was derjenige, der auf port 80 kommt auf seinem Browser sieht.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 03.03.2004 um 20:38 Uhr von framp editiert.
Seitenanfang Seitenende
03.03.2004, 21:43
Member

Beiträge: 201
#9 Das was du möchtest wird so auch niemals gehen. Da kannst du lange nach einem Programm suchen. Ausserdem gibt es ganz davon abgesehen auch keinen mir bekannten (legalen) Grund das was du möchtest durchzuführen.

Deshalb nocheinmal: Beschreib einfach genauer wozu und was genau du bewirken möchtest. Vielleicht gibt es ja eine einfache Lösung für das Problem. Aber Mozilla ist ein normaler Browser und kein Überwachungstool zum zwischenschalten.
Seitenanfang Seitenende
04.03.2004, 11:22
Ehrenmitglied

Beiträge: 831
#10 Nicht getestet

Code

./nc -l -s 192.168.2.102 -p 82 -e test2.sh

cat test2.sh
#!/bin/bash
tail -f testausgabe.nc

p2k
__________
http://linux.regionnet.de/ - http://www.pf-lug.de/ - http://www.4logistic.de/ - http://www.pfenz.de
Seitenanfang Seitenende
04.03.2004, 20:08
Member

Themenstarter
Avatar framp

Beiträge: 326
#11

Zitat

MacDefender postete
Das was du möchtest wird so auch niemals gehen. Da kannst du lange nach einem Programm suchen.
Ich sehe keinen Grund warum das nicht gehen sollte. Ich wuerde das Tool auch selbst schreiben wenn ich mehr Zeit haette.

Zitat

Ausserdem gibt es ganz davon abgesehen auch keinen mir bekannten (legalen) Grund das was du möchtest durchzuführen.
Legal sehe ich da ueberhaupt kein Problem. Das ist mein privater HTTP Server und wenn ich die Vermutung habe, dass da jemand Mist baut will ich in der Lage sein zu sehen wie er diesen baut bzw was er treibt. Nochmal: Dieses ist alles auch ueber Apache logs nachvollziehbar - aber leider aufwendiger.

Zitat

Aber Mozilla ist ein normaler Browser und kein Überwachungstool zum zwischenschalten.
Nein, Mozilla soll auch nicht zum Zwischenschalten benutzt werden. Das Tools soll sich nur wie Linux tee verhalten, nur dass es nicht stdin und stdout sowie eine Datei benutzt sondern ports. Und auf einem Port haengt eben Mozilla zwecks Anzeige des HTTP Stroms.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 04.03.2004 um 22:41 Uhr von framp editiert.
Seitenanfang Seitenende
18.03.2004, 11:44
Member
Avatar Xeper

Beiträge: 5285
#12 @framp

seit wann ist Mozilla ein server und hängt auch nur an irgendeinem port - damit das was du realisieren wilslt funktioniert müßte Mozilla ja einen port abhören oder nicht?

Edit:

verstehe deine komplette Logik überhaupt nicht du solltest nicht dafür sorgen das du 24h rund um die uhr die logs überwachen musst sondern eher für einen sicheren webserver sorgen - wenn irgendwas passiert ist es immer dein verschulden es ist ja auch dein server.
__________
Email/XMPP: therion at ninth-art dot de
IRC: megatherion @ Freenode
Dieser Beitrag wurde am 18.03.2004 um 11:45 Uhr von Xeper editiert.
Seitenanfang Seitenende
18.03.2004, 19:18
Member

Themenstarter
Avatar framp

Beiträge: 326
#13 @Xeper

Hm, ich habe nirgendwo gesagt dass Mozilla ein Server ist? Weiss nicht wie Du darauf kommst. Auch will ich nicht 24 h Logs ueberwachen. Wo habe ich das geschrieben?

Das ich einen Webserver absichern muss ist auch klar. Dem ,dass ich dann selbst Schuld bin wenn was passiert, kann ich nicht zustimmen. Es gibt leider immer wieder Sicherheitsloecher in SW. Aber das ist alles ueberhaupt nicht mein Punkt.

Ich moechte einfach nur eine SW haben, die ein Relay darstellt. (Vielleicht wird es so klar.) An dieses Relay gehen zwei Browser (Clients, keine Server ;) ) Ein Client connected sich direkt weiter zu einem HTTP Server (e.g. Apache) und erhaelt den ganz normalen HTTP stream. Der zweite Client connected sich ebenfalls an das Relay und kann dann saemtliche HTTP Displays, die Client1 sieht parallel mitverfolgen. Es ist also eine Art tee, wobei tee nur unidirektional ist, das Relay natuerlich bidirektional.

Das ist nicht zum 24h ueberwachen gedacht sondern einfach um in begruendeten Faellen in quasi Realtime verfolgen zu koennen was da jemand treibt. Dieses wird auch nicht in RealTime stattfinden (Tastatureingaben am Client1 sind natuerlich Protokollbeding nicht gleich am Client2 zu sehen)aber erleichtert schon das Leben.

Ich bin mir sicher dass es sowas gibt. Auch ist das technisch moeglich. Wie gesagt, ich wuerde es auch selbst schreiben wenn ich Zeit haette.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 18.03.2004 um 19:20 Uhr von framp editiert.
Seitenanfang Seitenende
18.03.2004, 19:19
Member

Themenstarter
Avatar framp

Beiträge: 326
#14 @Xeper

Hm, ich habe nirgendwo gesagt dass Mozilla ein Server ist? Weiss nicht wie Du darauf kommst. Auch will ich nicht 24 h Logs ueberwachen. Wo habe ich das geschrieben?

Das ich einen Webserver absichern muss ist auch klar. Dem ,dass ich dann selbst Schuld bin wenn was passiert, kann ich nicht zustimmen. Es gibt leider immer wieder Sicherheitsloecher in SW. Aber das ist alles ueberhaupt nicht mein Punkt.

Ich moechte einfach nur eine SW haben, die ein Relay darstellt. (Vielleicht wird es so klar.) An dieses Relay gehen zwei Browser (Clients, keine Server ;) ) Ein Client connected sich direkt weiter zu einem HTTP Server (e.g. Apache) und erhaelt den ganz normalen HTTP stream. Der zweite Client connected sich ebenfalls an das Relay und kann dann saemtliche HTTP Displays, die Client1 sieht parallel mitverfolgen. Es ist also eine Art tee, wobei tee nur unidirektional ist, das Relay natuerlich bidirektional.

Das ist nicht zum 24h ueberwachen gedacht sondern einfach um in begruendeten Faellen in Realtime verfolgen zu koennen was da jemand treibt. Dieses wird auch nicht in RealTime stattfinden (Tastatureingaben am Client1 sind natuerlich Protokollbeding nicht gleich am Client2 zu sehen)aber erleichtert schon das Leben.

Ich bin mir sicher dass es sowas gibt. Auch ist das technisch moeglich. Wie gesagt, ich wuerde es auch selbst schreiben wenn ich Zeit haette.
__________
"Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect." Linus Benedict Torvalds
Dieser Beitrag wurde am 18.03.2004 um 19:20 Uhr von framp editiert.
Seitenanfang Seitenende
18.03.2004, 19:36
Member
Avatar Xeper

Beiträge: 5285
#15 @framp

sorry ich denke dann hab ich dich falsch verstanden.
Ja klar sicherheitslöcher in SW gibt es aber nach meiner Meinung nicht so viele in Apache selbst ich glaub die größere gefahr ist cgi und php etc. Das mit dem Relay wie du es sagst naja das kann man dann besser selbs schreiben mir fällt jetz nichts ein was daran ähnelt was ich schon mal irgendwo gesehen hätte - natürlich ist das mögich. Aber irgendwie liegt mir die realisierung noch fern also das client2 das selbe anzeigen soll wie client1 etc. Ich finde du solltest bei den logs bleiben.
__________
Email/XMPP: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: