C 코드를 통해 이더넷 프레임으로 원시 데이터를 작성하려고합니다. 패킷 (이더넷 -> IP -> UDP -> DHCP 프로토콜 포함)을 작성하고 WiFi 인터페이스를 통해 보냈습니다. 나는 프린트 된 Wireshark를 따라 갔다. Ethernet2 -> Frame Check Sequence -> Incorrect가 XXX이어야한다.이더넷 원시 데이터 및 프레임 체크 시퀀스
필자의 패킷에 FCS 데이터를 작성하지 않았으므로 필드를 비워 둡니다. 이제 C에서 간단한 함수/코드를 찾을 수 없습니다. 내가 찾은 모든 코드는 나에게 나쁜 결과를 주었다.
누군가 이전에 해본 적이 있고 이더넷 패킷에 FCS를 구현하는 방법을 공유 할 수 있습니까?
사전에
제공주십시오 [MCVE] (http://stackoverflow.com/help/mcve) –
@MichaelFoukarakis이 더 떨어져 주제 또한 라이브러리에 대한 요청 모양을 . – Olaf
대부분의 이더넷 MAC은 하드웨어로 FCS를 생성합니다. 그러나 일반 컴퓨터의 사용자 공간 프로그램은 일반적으로 링크 계층 패킷을 작성할 수 없습니다. 원시 소켓은 네트워크 계층 (IP)에서 시작합니다. 따라서 임베디드 시스템이나이 작업을위한 커널 모듈이 있다고 가정합니다. 관련성이 있으며 적절한 도움을 위해 질문에 언급되어야합니다. –