Date: Mon, 8 Dec 1997 09:54:53 -0500 (EST) From: Feiyi Wang <fwang2@unity.ncsu.edu> To: Ruslan Ermilov <ru@ucb.crimea.ua> Cc: hackers@FreeBSD.ORG Subject: Re: help: divert sockets question Message-ID: <Pine.SOL.3.96.971208095136.16834B-100000@loki.csc.ncsu.edu> In-Reply-To: <199712081231.OAA07525@relay.ucb.crimea.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, It will work. Here is the way I did it -- snip -- /* this is readIncoming() */ inbytes = recvfrom( fd, inPacketBuf, sizeof inPacketBuf, 0, (struct sockaddr*) &inPacketAddr, &addrsize); /* this is writeIncoming() */ writeIncoming(int fd) { int wrote; wrote = sendto( fd, inPacketBuf, inPacketLen, 0, (struct sockaddr *) &inPacketAddr, sizeof inPacketAddr); if ( wrote != inPacketLen ) fprintf(stderr, "failed to write packet back\n"); else return wrote; } On Mon, 8 Dec 1997, Ruslan Ermilov wrote: > Hi, Hackers! > > I'm in process of writing a small `iptunnel' program > which lets me tunnel IP traffic thru UDP. > > My program uses two sockets: UDP and divert. > > It reads IP-packet from divert socket and > sends it to the remote machine thru UDP. > Remote machine then reads it from UDP and > reinjects the IP-packet by writing it to the > divert socket. > > And vice versa. > > It works greatly! > > Problem: > > I want to reinject received thru UDP IP-packet > as incoming. `man ipdivert' says that I should > use sendto() syscall with a destination address > equal to IP address of some my local interface. > > I did it and it doesn't works. > > It seems to me like a kernel is just dropping such a packet. > But no error returned from sendto(), no packets travel > thru the firewall. > > Can anyone point me a way to write packet as incoming? > Should I change some IP-packet fields? > > TIA, > -- > Ruslan A. Ermilov System Administrator > ru@ucb.crimea.ua United Commercial Bank > +380-652-247647 Simferopol, Crimea > 2426679 ICQ Network, UIN >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOL.3.96.971208095136.16834B-100000>