2016-11-03 11 views
1

원시 이더넷 프레임을 보내려면 nping을 사용하고 있습니다. EtherType 뒤에 시작하는 사용자 정의 데이터가있는 프레임을 보내려고합니다. 그러나 nping은 사용자 지정 데이터를 패킷 중간에 배치합니다.nping을 사용하여 EtherType 이후에 사용자 정의 데이터로 원시 이더넷 프레임 전송

nping --dest-mac <my mac> --ether-type 0xd2d2 -e eth0 --send-eth --data 00010028 192.168.2.10 

여기에 내가 수신기에 표시되는 내용은 다음과 같습니다 : 예를 들어, 다음은 내 명령의 6 및 7 반 단어, 0001 0028 올 내가 원하는 세 번째 줄에서

0x0000: 8cfd f000 cb16 9410 3eb8 483d d2d2 4500 
    0x0010: 0020 f412 0000 4001 0169 c0a8 0207 c0a8 
    0x0020: 020a 0800 9a72 5d61 0003 0001 0028 0000 
    0x0030: 0000 0000 0000 0000 0000 0000 

0xd2d2

답변

0

사용자 지정 데이터 nping put은 IP 헤더입니다.

저는 nping에 익숙하지 않지만 명령의 마지막에 넣은 192.168.2.10을 잘못 입력했다고 생각합니다. 16 번째와 17 번째 반 단어 (대상 IP 주소)가 c0a8 020a으로 인코딩되었습니다. 아마도 192.168.2.10을 지정했기 때문에 nping이 IP 헤더를 추가했을 것입니다.

192.168.2.10 또는 192.168.2.10 대신 <my mac>없이 명령을 시도하십시오.

+0

IP 주소를 지정해야합니다. 그렇지 않으면 nping에서 오류가 발생합니다. 이것은 인터페이스를 직접 지정하고 (''-e eth0'''), 원시 이더넷 프레임 (''--send-eth''')을 보내고 싶다고 지정하는 경우에도 마찬가지입니다. – user2233706

+0

192.168.2.10 대신 을 입력해도 작동하지 않습니까? 내가 생각하기에, 내가 [man page] (https://linux.die.net/man/1/nping)를 읽는 한. – kaitoy

+0

nping을 사용해야합니까? 원하는 경우 pcap4j를 사용하여 Java 코드를 작성할 수 있습니다. – kaitoy