C# .NET 응용 프로그램 중 하나가 bootp 서버로 작동해야합니다. 프로토콜은 꽤 간단하지만 바이너리 데이터를 작성/파싱하는 쉬운 방법을 모른다. 어떤 아이디어 : 이 할 수있는 몇 가지 방법이있다 alt text http://www.tcpipguide.com/free/diagrams/bootpformat.png
C#에서 BOOTP 서버를 작성하려고합니다. 클라이언트로부터 BOOTP 패킷을 수신하고 구문 분석 중이므로 서버 IP 주소로 응답해야합니다. 문제는 : 컴퓨터가 클라이언트가 아직 IP 주소 이없는 여러 네트워크 어댑터를 가질 수있는은 어댑터 무엇인지 찾을 수있는 방법이 있나요 UDP 패킷을 받았습니까?
RFC2132에 따르면 "Pad Option"(0s)을 사용하여 단어 경계의 후속 필드를 정렬 할 수 있습니다. 그러나 DHCP packets을 보면 "단어"의 크기를 알 수 없습니다. OnTime "Options"필드는 32 바이트이고, 한 번은 60 바이트입니다. 제 설정에서 DHCP 서버는 패딩이없는 패킷을 수락하는 데 아무런 문제가 없습니다. 요즘에