05.02.2013 Aufrufe

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

Firewall Handbuch für LINUX 2.0 und 2.2 - zurück

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

dieses ist, davon kann man sich an diesem sehr kleinen Beispiel selber überzeugen. Man<br />

bekommt vielleicht dann einen Eindruck davon, wieviel Mist oft Sicherheitsexperten<br />

erzählen (Windows NT ist sicher !, u.s.w.) <strong>und</strong> wie schwierig es ist, den Quellcode von<br />

1500 Programmierern (Microsoft) <strong>und</strong> mehrere millionen Zeilen Quellcode nach Fehlern<br />

zu durchleuchten. Spätestens nach dieser kleinen Übung sollte auch der letzte Verfechter<br />

von Software ohne freien Quellcode davon überzeugt sein, daß viele Augen mehr sehen,<br />

als wenige, <strong>und</strong> daß es immer besser ist, nach dem KISS (Keep It Small and Simple)<br />

Prinzip die Software auszuwählen:<br />

/*<br />

* vdoproxy.c<br />

*<br />

* AUTHOR : Eric Dumazet edumazet@ris.fr<br />

* DATE : 19961015<br />

* This is a VDO live proxy for <strong>LINUX</strong> (with TRANSPARENT PROXY enabled)<br />

* Usage :<br />

* First you must insure that connections for port 7000 are redirected<br />

* ipfwadm -I -a acc -P tcp -S yournet/24 -D any/0 7000 -r 7000<br />

* Then, launch vdoproxy (no arguments)<br />

*/<br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#include <br />

#define VDO_TCP_PORT 7000<br />

int listen_port = 7000 ;<br />

int dflg ; /* debug flag */<br />

int lflg ; /* log flag */<br />

int dest_port = 7000 ;<br />

struct sockaddr_in dest_addr;<br />

int trace_fd = 1 ;<br />

void hexdump_err(p, len)<br />

const char *p ;<br />

int len ;<br />

{<br />

char _aux_bb[128] , c ;<br />

int i , n ;<br />

int dep = 0 ;<br />

while (len > 0) {<br />

sprintf(_aux_bb, "%3X: ", dep) ; dep += 16 ;<br />

i = 5 ;<br />

for (n = 0 ; n < 16 ; n++) {<br />

if (n < len) sprintf(&_aux_bb[i], "%02X ", p[n]&255) ;<br />

else strcpy(&_aux_bb[i], " ") ;<br />

i+=3 ;<br />

}<br />

for (n = 0 ; n < 16 ; n++) {<br />

if (n < len) {<br />

c = p[n] ;<br />

Erstellt von Doc Gonzo - http://kickme.to/plugins

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!