Unix Programming - [Q] raw socket listening problem.

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > January 2004 > [Q] raw socket listening problem.





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author [Q] raw socket listening problem.
firial

2004-01-23, 4:55 pm

I tried sending raw socket with syn flag, and watched ethereal and
tcpdump dump expected message.
but when I tried listening raw socket, I failed.

problem is,
when I execute server program, serverprogram dumped - " catching
socket "
even I did't send any socket

I wanna don't use recvfrom(~~ ) but listen(~~ )
( What I want is just "socket via ip and tcp layer .." )
source is quite simple -

int main()
{
int listenfd, connfd;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr,servaddr;

listenfd = socket(AF_INET,SOCK_RAW,IPPROTO_RAW);

bzero(&servaddr,sizeof(servaddr) );

servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
servaddr.sin_port = htons (SERV_PORT);

bind ( listenfd , (SA * ) &servaddr, sizeof (servaddr) );

listen(listenfd,5) ;
//recvfrom is needed(?)
clilen = sizeof (cliaddr );
connfd = accept (listenfd , ( SA *) &cliaddr, &clilen);
printf(" cache !!!! \n");
close (listenfd ) ;
close(connfd);
}

it's solaris 7. I wanna your help

thanks for reading.
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com