Microsoft MVP성태의 닷넷 이야기
.NET : 35. UDP 패킷의 경유 IP 설정 (Source Routing) [링크 복사], [링크+제목 복사]
조회: 10730
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

How to programmatically inject a list of IP Addresses into the IP Options header in the IP Datagram [ Source Routing ]?
; http://blogs.msdn.com/winsdk/archive/2009/11/05/how-to-programmatically-inject-a-list-of-ip-addresses-into-the-ip-options-header-in-the-ip-datagram-source-routing.aspx

UDP 에 이런 기능이 있는지 몰랐군요. ^^;

IPPROTO_IP, IP_OPTIONS 인자로 setsockopt 를 하는 경우 같이 넘겨준 IP 를 경유해서 최종 목적지로 패킷이 전달되게 됩니다. 읽고 보니, 궁금해지는 데요. 그렇다면 경유하는 IP의 NIC 카드 레벨에서 라우팅을 해주는 것인가요? 오호... 외부망에서 UDP 를 내부망으로 보낼 수 있다는 의미인데... 테스트 한번 해봐야겠군요. ^^

코드가 간단하니 여기에 옮겨 봅니다.

1: \\Define a structure for LSR
2: typedef struct
3: {
4: unsigned char Code;
5: unsigned char Len;
6: unsigned char Offset;
7: unsigned long Addrs[2];
8: }LSR;
9:
10: //Set the Loose Source Routing Option:
11: LSR SourceRoute;
12: ZeroMemory(&SourceRoute,sizeof(LSR));
13:
14: SourceRoute.Code = 0x83; // Loose Source Routing.
15: SourceRoute.Len = 11;
16: SourceRoute.Offset = 4;
17: SourceRoute.Addrs [0] = inet_addr("a.b.c.d");
18: SourceRoute.Addrs [1] = inet_addr("x.y.z.q");
19:
20: //Set the source routing on the socket handle.
21: int iErr = setsockopt(SocketHandle,IPPROTO_IP,IP_OPTIONS,(char*)&SourceRoute,SourceRoute.oLen);








[최초 등록일: ]
[최종 수정일: 11/10/2009]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호

댓글 작성자
 




1  2  [3]  4  5  6  7  8 
NoWriterDateCnt.TitleFile(s)
145정성태5/6/20087050.NET : 30. XML Serializable Dictionary
144정성태3/28/20087671.NET : 29. WPF 응용 프로그램 - 웹캠으로 입력되는 스트림을 WMV 로 출력
143정성태3/28/20087965레지스트리 : 8. VHD 파일을 하드 디스크로 인식
142정성태3/26/20087297레지스트리 : 7. 아웃룩 2007의 제한된 첨부 파일을 허용하도록 설정
141정성태3/25/20087192레지스트리 : 6. 웹 브라우저(IE 8) 컨트롤 렌더링 모드 지정
140정성태2/23/20086600.NET : 28. 프로세스를 실행시켜주는 간단한 NT 서비스 제작 [1]
139정성태2/22/20085812.NET : 27. P/Invoke 를 이용한 메시지 서명 및 확인
138정성태2/21/20087332SMTP Commands
137정성태2/19/20085987.NET 3.5 : 5. LINQ to XML : Creating XML from another XML
136정성태2/1/20088115Win32 : 3. 사용자 개입없이 인증서 설치하는 코드 [2]
135정성태1/30/20085685COM : 5. Starting a Hyper-V Virtual Machine [3]
134정성태1/28/20085853Win32 : 2. How to generate key pairs, encrypt and decrypt data with CryptoAPI
133정성태1/16/20085921유틸리티 : 1. Writing Debugger extension program in C#
132정성태1/15/20086143VS.NET Addin - DB 연결 개체 추가
131정성태1/11/20086032기타 : 1. Maze Generator in C#
130정성태1/8/20086142VS.NET Addin - 프로젝트 닫기
129정성태1/2/20085877웹폼 코딩 규약 : 2. 서버측 ViewState 저장소
128정성태12/31/20075368레지스트리 : 5. List of registry keys affecting IIS7 behavior
127정성태12/21/20076091.NET : 26. CreateProcessWithLogonW / CreateProcessAsUser API 사용
126정성태12/20/20075115Win32 : 1. SLDF_RUNAS_USER
125정성태12/14/20075447.NET : 25. InfoPath 사용자 컨트롤
124정성태11/25/20075139SQL : 2. SQL Server 2008 에서 소개하는 spatial 데이터 타입
123정성태11/20/200711824.NET : 24. C# WebCam 사용자 컨트롤
122정성태11/17/20076233COM : 4. 외부 SMTP 를 지정하여 메일 보내기
121정성태9/14/20074914.NET 3.5 : 4. Entity Framework 관련 링크 모음
120정성태9/14/20074739Vista : 7. Gadget Samples for Windows Sidebar
1  2  [3]  4  5  6  7  8