조회 수 14261 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

libpcap을 사용해서 만든 프로토콜 모니터링 프로그램이..

컴파일부터 애를 먹이더니 실행시 Segment falt 가 떨어진다 ㅠㅠ


멘붕을 느끼며 몇 시간 동안 삽질하며 확인해보니,

32bit에서는 기존 상태 그대로 컴파일/실행이 잘 되지만..

64bit에서는 코드 일부를 수정해야 컴파일이 되고 실행시 Segment falt 메시지가 나온다.


결국 64비트에서만 이상하다는..? ㅎㅎ

아래 처럼 2가지 부분을 수정하니 64비트에서도 잘 된다^^;;


inet_ntoa() 이 함수가 컴파일 에러는 없지만, 실행하는 시점에서 Segment fault 라는 메시지가 나온다면..

아래 헤더를 추가해 주어야 한다.

#include <arpa/inet.h>


그리고 기존에 아래와 같이 코딩했다면 수정이 필요하다.

printf("%s ", inet_ntoa(ip->saddr));


그리고.. 위와 같은 코드로 컴파일 하면 이런 에러가 출력될 것이다.

error: incompatible type for argument 1 of 'inet_ntoa'


간단히 해석해보면 inet_ntoa() 함수의 인자값이 잘못된다는 얘기..

아래와 같이 수정하시면 해결이 됩니다.

printf("%s ", inet_ntoa(*(struct in_addr *)&ip->saddr));



흐흐흐..

저렇게 하니깐 잘 됨 ㅎㅎ


위의 설명이 적용된 inet_aton() 함수와 inet_ntoa() 함수 샘플

#include <stdio.h>
#include <string.h>
#include <arpa/inet.h>
 
int main(int argc, char *argv[])
{
    struct in_addr in;
    struct in_addr inp;
    char buf[16];
 
    //memcpy(&in, &inp, 8);
    inet_aton("123.123.123.123", &inp);
 
    //strcpy(buf, (char *)inet_ntoa(inp));
    strcpy(buf, (char *)inet_ntoa(*(struct in_addr *)&inp));
 
    printf("ip : %s", buf);
 
    return 0;
}


?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
633 Develop [c] alarm()함수 설명과 간단한 예제 file hooni 2013.04.23 6704
632 Develop [c] 네트워크 정보 알아보기 file hooni 2013.04.23 16155
631 Develop [c] 오류체크(CRC 체크 ) 소스 2 hooni 2013.04.23 8149
630 Develop [c] 오목.. 간단한 소스 ㅋㅋ file hooni 2013.04.23 9670
629 Develop [c] vc++ 에서 clrscr(), gotoxy() 함수 사용하기.. hooni 2013.04.23 14289
628 Develop [c] 최단거리 알고리즘 & 예제소스.. 13 file hooni 2013.04.23 10204
627 Develop [c] 격자 직사각형 넓이 구하기 file hooni 2013.04.23 7483
626 Develop [vc++] 게임 소스 등.. ㅋㅋ file hooni 2013.04.23 18404
625 Develop [js] get방식, url이후 모두 그대로 읽어오기.. hooni 2013.04.23 6867
624 Develop [web] URL 인코딩 방법.. 테이블.. ㅋㅋ hooni 2013.04.23 7181
623 Develop [js] 툴팁.. 좋은거.. (tooltip) file hooni 2013.04.23 7080
622 Develop [js] 스타크래프트(starcraft).. file hooni 2013.04.23 6672
621 Develop [php] 탐색기와 같은 다이나믹 트리(xml/xsl 이용) file hooni 2013.04.23 7201
620 Develop [c] 네트워크 보안 프로그래밍 과제 (Server,Agent,Client) file hooni 2013.04.23 6492
619 Develop [switch] 시스코 카탈리스트(Cisco Catalyst) 2950 미러링 설정 hooni 2013.04.23 11432
618 Develop [c] 시스템 보안 과제.. 시간(amc time) 변경 file hooni 2013.04.23 7203
Board Pagination Prev 1 ... 12 13 14 15 16 ... 53 Next
/ 53