RAW SOCKET에 대해 질문이 있습니다. ^^
글쓴이: dong1036 / 작성시간: 화, 2008/07/22 - 1:28오후
sock = socket(PF_INET, SOCK_RAW, IPPROTO_TCP); if(sock == INVALID_SOCKET) { errorHandling("socket() error"); } setsockopt(sock, IPPROTO_IP, IP_HDRINCL, (char *)&flag, sizeof(flag)); addr_len = sizeof(servAddr); memset(&servAddr, 0x00, sizeof(servAddr)); while(1) { memset(&servAddr, 0x00, sizeof(servAddr)); memset(packet, 0x00, 1024); readLen = recvfrom(sock, packet, BUFSIZE, 0, (SOCKADDR *)&servAddr, &addr_len); if(readLen == SOCKET_ERROR) { errorHandling("recvfrom() errror"); } ip = (IPHDR *)packet; printf("src ip : %s\n", inet_ntoa(ip->source)); printf("dst ip : %s\n", inet_ntoa(ip->dest)); }
간단하게 컴퓨터로 날라오는 패킷들을 캡쳐해서 IP보여주는 것인데요 ㅡ,.ㅡ
계속 recvfrom 에서 에러가 나네요 ㅡ,.ㅡ ㅋ
리눅스에서는 잘 받아지던데 ... 윈도우로 포팅할려니깐.. 안되네요...
참고로 OS는 윈도우 XP 프로페셔날입니다.
답변 부탁드립니다.
Forums:
에러내용도
에러가 발생후 GetLastError의 값을 올려주시기 바랍니다.
10022 입니다.
10022 입니다.
음 냐냐~
msdn 에 보시면 모든 error code에 관한 문서가 있습니다.
목록입니다. 첫페이지라고 할 수 있겠죠.
http://msdn.microsoft.com/en-us/library/ms681381(VS.85).aspx
10022 WSAEINVAL An invalid argument was supplied.
WSAEINVAL 이라..
윈도우 曰 "이유를 가르쳐주지 못하겠다" ㅋㅋ
수고하시길~
===============
Vas Rel Por
===============
Vas Rel Por
댓글 달기