raw 소켓 질문입니다
글쓴이: declspec / 작성시간: 목, 2011/07/14 - 11:36오후
리눅스상에서
raw 소켓을 만들면
IP헤더부터 데이터를 작성할수도 있고(IP_HDRINCL 인가 옵션을 주면...)
TCP/UDP 헤더부터 데이터를 작성 할 수도 있죠?(그냥 쓰면...?)
그런데 raw소켓을 이용해서 데이터를 보낼때
sendto 함수를 쓰는데
여기에 struct sockaddr_in 구조체의 주소를 5번째 인자로 넘겨주잔아요.
그런데 여기에도 TCP/UDP 계층의 포트정보가 들어가고
소켓에 넘겨주는 데이터에도 포트정보가 들어가는데
이 둘중에 어떤게 사용되는건가요?
만약 raw 소켓이 IP나 트랜스포트계층부터
데이터를 작성하여 송신한다면
sendto 함수의 5 번째 인자는 왜필요한가요?
없어도 되나요?
누가 자세히 설명좀 해주세요 ㅠㅠ
Forums:
man sendto
소켓에 넘겨주는 데이타에 포트 정보가 포함된다의 의미를 이해하기 힘드네요.
구현 하시 코드를 간략하게 보여주는 것이 적절한 질문일 것 같습니다.
man sendto 하거나 직접 tracing하는 것도 방법일 것 같네요.
댓글 달기