Microsoft MVP성태의 닷넷 이야기
.NET : 35. UDP 패킷의 경유 IP 설정 (Source Routing) [링크 복사], [링크+제목 복사]
조회: 10689
글쓴 사람
정성태 (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)
173정성태4/12/201111170레지스트리 : 11. BHO를 IE와 탐색기에서 선택적으로 로드하고 싶다면?
172정성태4/1/201110122.NET : 44. ContextBoundObject
171정성태3/30/20119998.NET 4.0 : 1. ASP.NET WF4 / WCF and Async Calls
170정성태3/25/20119780.NET 3.0 : 5. WCF How To’s Index [2]
169정성태3/10/201111175.NET : 43. 열려진 소켓 포트를 소유한 Process ID 구하는 방법 [2]
165정성태10/20/201010779레지스트리 : 10. 탐색기의 특정 폴더에 대해 Webdev.WebServer40.exe 로 호스팅을 시작하는 메뉴 추가
164정성태10/11/201010030.NET : 42. Writing Windows Shell Extension with .NET Framework 4 (C#, VB.NET)
163정성태8/27/20108829.NET : 41. Writing Files from Low-Integrity Processes
162정성태8/24/20108993.NET : 40. Self STS
161정성태5/16/201011916.NET : 39. #SNMP - C# Based Open Source SNMP for .NET and Mono
160정성태5/11/20108960.NET : 38. How to get info from client certificates issued by a CA (C#)
159정성태4/30/20108822.NET : 37. How to write a VS2010 Extension using Statement Lambdas
158정성태12/20/200922771명령행 : 6. 배치 파일에서 현재 디렉터리 알아내는 방법 [1]
157정성태11/12/20099537.NET : 36. Dictionary<,> 개체 직렬화
156정성태11/10/200910689.NET : 35. UDP 패킷의 경유 IP 설정 (Source Routing)
155정성태11/4/20099338.NET : 34. MSDeploy 명령행에 대응되는 C# 코드 예제
154정성태7/13/20098872.NET 3.0 : 4. WCF - 연결 개체 닫기
153정성태6/29/20098245.NET : 33. Creating audio signals in .NET
152정성태1/6/20098871.NET 3.0 : 3. WPF - StatefulUserControlBase.cs
151정성태1/1/200911558.NET : 32. Wake-On-Lan C# 코드 [1]
150정성태12/12/20088221.NET 3.5 : 7. ETW / .NET Framework 3.5
149정성태12/3/20088661Win32 : 4. Using Windows Vista Built-In Double Buffering
148정성태11/25/20087603.NET : 31. ThreadPool.UnsafeQueueNativeOverlapped [1]
147정성태11/21/20086870.NET 3.5 : 6. ProcessGeneratedCode
146정성태10/29/20086766레지스트리 : 9. How to detect what .NET Framework X service pack is installed
145정성태5/6/20087016.NET : 30. XML Serializable Dictionary
1  [2]  3  4  5  6  7  8