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
댓글 달기