이더넷에 대한 CRC-32가 어떤 방식으로 문제가되는지 이해하려고했습니다. 나는 16 진수 값을 가지고 ARP 요청 보았다 :CRC32 계산이 작동하지 않습니다.
00000024e8cc96beffffffffffff080600010800060400010024e8cc96be0a3307fa0000000000000a3307fb0000000000000000000000000000000000000ff0fdca
및 던진 그 많은 온라인 발전기 중 하나에과 일치하는 CRC를 가져올 수 없습니다. 그것은 처음 두 바이트 (0x00 0x00)가 프레임의 시작 부분이고 마지막 4 바이트 (0x0F 0xF0 0xFD 0xCA)가 CRC 인 것처럼 보이지만 중간 바이트를 온라인에 넣을 때 계산할 수 없습니다 발전기.
내가 잘못 가정하고있는 아이디어는 무엇입니까?
일부 언어로 작성된 앱이나 스크립트를 어떻게 계산하고 있습니까? – aah134
필자는 결국 FPGA에서이 작업을 수행하려고합니다.하지만 지금은 이해하려고 노력하고 있습니다. 따라서이 코드를 복사하여 http://crc32-checksum.waraxe.us/ 및 http와 같은 온라인 스크립트에 붙여 넣으십시오. : //www.lammertbies.nl/comm/info/crc-calculation.html – toozie21
결코 마음에 들지 않았습니다. 실수가있었습니다. FPGA의 루프 기반 코드를 살펴보면 실제 ARP는 0000ffffffffffff0024e8cc96be080600010800060400010024e8cc96be0a3307fa0000000000000a3307fb0000000000000000000000000000000000000ff0fdca (src와 dst mac이 바뀌 었음)처럼 보입니다. 0000 이후와 ff0fdca 전에 모든 것을 두 번째 링크에 넣으면 위의 0xCAFDF00F를 얻을 수 있습니다. 이는 동일한 CRC (역 바이트 순서)입니다. 따라서 올바른 데이터를 사용하면 의미가 있습니다 ..... – toozie21