pcap 라이브러리 사용으로 패킷 캡쳐를 하는데...
글쓴이: kernelbomb / 작성시간: 수, 2003/10/22 - 11:15오전
안녕하세요?
pcap 라이브러리를 이용해서 패킷을 캡쳐하고 있는데
TCP헤더의 SEQ 넘버와 ACK 넘버를 출력하니 자꾸 음수가
나오네요. ㅡ,.ㅡ;
printf("SEQ Number : %d\n", ntohl(tcph->seq)); printf("ACK Number : %d\n", ntohl(tcph->ack_seq));
위와 같이 해줬거든요.
자료형이 틀린것 같다는 생각에
#include <netinet/in.h> uint32_t seq_num; seq_num = ntohl(tcph->seq); printf("SEQ : %d\n", seq_num);
이렇게도 해봤거든요. 역시 음수가 나오네요. 제가 뭘 잘 못 생각하고
있는지요?
헤더의 엔트리 포인트를 잘 못 계산한것 일수도 있어서 다른 값들도
다 출력해 봤지만 정상적으로 잘 나옵니다.
RFC 문서를 보니 SEQ 번호는 양수라고 나오던데...
Forums:
아마도 pcap에서 byte order를 converting 한 후에 저
아마도 pcap에서 byte order를 converting 한 후에 저장하는것 같습니다.
그냥 출력해보십시오.
감사합니다. *^^*
되는군요.
/usr/include/netinet/tcp.h
헤더파일을 봐도 변환에 대한 매크로가 없는데 이상하네요.
아뭍은 감사합니다.
당신들을 사랑합니다.
댓글 달기