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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

FD_SET(newfd, ) ;<br />

FD_SET(fd_to_proxy, ) ;<br />

FD_SET(sockudp, ) ;<br />

i = select(maxfd, , 0, 0, 0) ;<br />

/* Is there a DATAGRAM ? */<br />

if (FD_ISSET(sockudp, )) {<br />

fromlen = sizeof(from) ;<br />

res = recvfrom(sockudp, buffer, sizeof(buffer), 0,<br />

(struct sockaddr *) , ) ;<br />

if (res > 0) {<br />

if (dflg) fprintf(stderr, "UDP (%d) %x:%d %x\n", res,<br />

ntohl(from.sin_addr.s_addr),<br />

ntohs(from.sin_port),<br />

ntohs(from.sin_port)) ;<br />

if (!already_bind) {<br />

int on = 1 ;<br />

already_bind = 1 ;<br />

outudp = from ;<br />

if (setsockopt(sockcl, SOL_SOCKET,<br />

SO_REUSEADDR, (char *) , sizeof(on)) < 0) {<br />

perror("setsockopt(REUSEADDR)<br />

problem") ;<br />

}<br />

if (bind(sockcl, (struct sockaddr *)<br />

, sizeof(outudp)) == -1)<br />

perror("bind sockl") ;<br />

}<br />

sendto(sockcl, buffer, res, 0, (struct sockaddr *),<br />

sizeof(struct sockaddr_in)) ;<br />

}<br />

}<br />

/* Is there any data from the client ? */<br />

if (FD_ISSET(newfd, )) {<br />

lu = read(newfd, buffer, sizeof(buffer)) ;<br />

if (lu 2) {<br />

printf("From client: (%d)\n", lu) ;<br />

fflush(stdout) ;<br />

hexdump_err(buffer, lu) ;<br />

}<br />

}<br />

/* Is there any data from server ? */<br />

if (FD_ISSET(fd_to_proxy, )) {<br />

lu = read(fd_to_proxy, buffer, sizeof(buffer)) ;<br />

if (lu 2) {<br />

printf("From Proxy (%d):\n", lu) ;<br />

fflush(stdout) ;<br />

hexdump_err(buffer, lu) ;<br />

}<br />

}<br />

}<br />

_exit(0) ;<br />

}<br />

/*<br />

* This function setups the listen port, and forks a child for each<br />

* connection<br />

*/<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!