inflearn logo
강의

講義

知識共有

理解すると人生が変わるネットワークプログラミング

Ethernet ヘッダー分析 および LSO イシュー

ntohs() 와 htons() 함수의 차이

解決済みの質問

337

cristiano

投稿した質問数 24

0


void packet_handler(u_char* param, 
					const struct pcap_pkthdr* header,
					const u_char* pkt_data) // pcap_loop()가 돌면서 패킷을 감지할때 그 때 읽어들인 감청 데이터는 pkt_data 에 들어간다.
{
	EtherHeader* pEther = (EtherHeader*)pkt_data; // 감청 데이터를 EtherHeader 로 형변환

	printf( "SRC: %02X-%02X-%02X-%02X-%02X-%02X -> "
			"DST: %02X-%02X-%02X-%02X-%02X-%02X, type:%04X\n",
			pEther->srcMac[0], pEther->srcMac[1], pEther->srcMac[2],
			pEther->srcMac[3], pEther->srcMac[4], pEther->srcMac[5],
			pEther->dstMac[0], pEther->dstMac[1], pEther->dstMac[2],
			pEther->dstMac[3], pEther->dstMac[4], pEther->dstMac[5],
			//ntohs(pEther->type)
			pEther->type
	);
}

ntohs(pEther->type) 과 htons(pEther->type)이 기능은 똑같다고 하는데, ntohs() 는 네트워크 오더 -> 호스트 오더 이고, htons() 는 호스트 오더->네트워크 오더 아닌가요?

제가 Intel 프로세스 탑재한 PC에서 예제 실행중인데, 위 코드와 같이 실행하면 Ipv4 인 type 값이 0008로 나옵니다. 그래서 htons() 로 감싸서 출력하면 0800 으로 잘되는데 ntohs() 로 감쌌을떄는 왜 0800 이 나오는지 모르겠습니다.

ntohs() 면 호스트 오더를 사용하는데 제 pc에서는 그대로 호스트 오더 방식으로 되야 하는거 아닌가요?

네트워크 winpcap npcap tcpip vc++

回答 1

0

nullnull8537

ntohs()나 htons()나 이름만 다를 뿐 기능이 같습니다. 그건 어디까지나 개발자 본인이 알고 제대로 값을 넣어야 합니다. 그리고 PC가 인텔이라 하더라도 패킷 데이터 값은 네트워크 오더에 맞춰 보내줍니다. 참고하시기 바랍니다. 😄

강의 외 질문

0

66

2

맥에서 Window 가상화 프로그램 사용 문의

0

80

3

프로젝트 제안 수행에 대한 조언을 구하고 싶습니다.

0

92

2

컴퓨터가 여러 대 있는 환경에서의 질문입니다.

1

45

1

[자문자답] Windows 11 Evaluation VM Download

2

95

1

VMNet에 대한 질문 드립니다.

0

68

1

dispatcher_handler가 호출되는 시점

0

80

3

패킷 분석 너무 재밌습니다!!

0

80

2

안녕하세요 선생님 질문이 있습니다~

1

56

2

안녕하세용 선생님 질문이 있습니다~~

1

79

1

안녕하세요 선생님~~ 질문이 있습니다~~

1

98

1

프로토콜 헤더 암기

0

110

1

[Ethernet 채팅 프로그램 개발] 이런것도 가능할까요?

0

191

2

VMware Ethernet1이 없는 경우

1

247

2

socker buffer 에 관하여 문의 드립니다.

0

128

1

Windows 11 가상머신 다운로드 이슈 3

0

225

2

Windows 11 가상머신 다운로드 이슈 2

0

259

3

Windows 11 가상머신 다운로드 이슈

0

278

1

Basic_dump 수행 오류

0

170

2

이더넷 질문 드립니다.

0

155

1

윈도우10으로 해도 되나요??

0

206

1

유해 사이트 차단 프로젝트 관련 마지막 질문입니다..

0

226

2

유해사이트 차단 프로젝트 관련 질문입니다.

0

269

1

VMware Player

0

464

1