2013-09-05 2 views
0

네트워크 어댑터의 영구 (번인) MAC 주소를 읽어야합니다. MAC 주소는 쉽게 스푸핑 될 수 있으므로 EEPROM에 기록 된 실제 주소를 읽어야합니다. Linux에서 C++을 사용하여이 작업을 수행해야합니다.ethtool 영구 MAC 주소 가져 오기 모두 0을 반환합니다.

나는 꽤 좋고 잘 작동하는 ethtool을 사용해 보았습니다. 그러나 일부 시스템에서는 의도적으로 작동하지 않습니다.

ethtool -P eth0 

반환이 :

Permanent address: 00:00:00:00:00:00 

ethtool -e eth0 

반환이 :

Cannot get EEPROM data: Operation not supported 

네트워크 어댑터

  • 드라이버 : ucc_geth는
  • 버전 : 1.1
  • 펌웨어 버전 : N/A
  • 버스 정보 : QUICC 엔진

리눅스 커널 버전이 2.6 정보를 원하시면 다음이 .32.13

질문 : 모든 업데이트 (드라이버, 커널 등)로이 문제를 해결할 수 있습니까?

또한 C++에서는 ioctl과 동일한 ethtool 호출을 사용합니다. 코드 내부에서 이것을 고칠 수있는 방법이 있습니까? 또는 EEPROM에서 영구 MAC 주소를 가져 오는 다른 방법이 있습니까?

답변

0

몇 가지를 살펴보십시오.

  1. 이 NIC에서 나오는 패킷 (스니퍼 사용)을보고 사용중인 MAC 주소를 확인하십시오.
  2. "ifconfig -a eth0"의 출력을보십시오. MAC 주소가 유선과 같으면 mechanism that ifconfig uses을 사용하여 해당 MAC 주소를 가져올 수 있습니다.
+0

그래서 이것은 와이어 패킷 실제 MAC 주소가 변경된 경우에도 실 (영구) MAC 주소를 의미? –

+1

물론 아닙니다. 그것은 MAC 변경의 목적을 무효화 할 것입니다. – MSalters

관련 문제