ip라는 데스크톱 부팅 파일을 사용하여 모니터가 없는 컴퓨터의 이더넷 MAC 주소를 얻으려고 합니다.
이것이 내가 처리해야 할 것입니다:
노트북
디스플레이가 없는 미니 PC: MSI Cubi -231XTW 5세대 Intel® Core™ i7 i7-5500U 미니 PC
Ubuntu 19.1이 설치 및 업그레이드된 SSD 2개(노트북을 사용하여 Ubuntu를 설치했습니다).
지금까지 /home/max/.config/autostart/hwadd.desktop을 만들었습니다.
[Desktop Entry]
Version=1.0
Name=Get Hardware Address
Comment=n/a
Exec=hwadd
Terminal=false
Type=Application
Categories=Utility;Application;
/usr/bin/hwadd에 다음 스크립트가 있습니다.
cd /home/max/
ip a > /home/max/ipaddress
이 .desktop 부팅 스크립트를 사용하여 하드 드라이브를 사용하여 노트북을 부팅하면 예상대로 작동합니다. 홈 폴더에 하드웨어 주소 정보가 포함된 파일이 있습니다.
그런데 디스플레이리스 마이크로에 하드드라이브를 넣고 시동을 걸고 5분간 실행시킨 뒤 전원을 끄고 드라이브를 제거한 뒤 읽기용으로 하드드라이브를 마운트했더니 해당 파일이 없다는 걸 발견했습니다. 다음 내용: IP 출력.
작동시키는 방법에 대한 아이디어가 있습니까?
답변1
라우터의 제어판이나 DHCP 테이블에 액세스할 수 있는 경우 로컬 IP와 해당 MAC 주소가 할당된 클라이언트 목록을 찾을 수 있습니다.
더 생각해보면 헤드리스 환경에서는 자동 시작이 작동하지 않는 것 같습니다. 자동 시작의 스크립트는 창 관리자(또는 디스플레이 환경, 그것이 무엇인지 기억이 나지 않음)에 의해 호출됩니다.
답변2
노트북의 명령줄에서 실행
#> arp -a
스위치의 arp 테이블을 확인합니다. 노트북은 동일한 서브넷에 있어야 하며 노트북에서 보려면 전환이 필요합니다. 다음과 같은 것을 얻어야합니다
Interface: 192.168.1.46 --- 0xa Internet Address Physical Address Type
169.254.7.252 a8-54-b2-90-fa-65 dynamic
192.168.1.1 04-d4-c4-63-46-74 dynamic
192.168.1.18 74-40-bb-b8-53-6f dynamic
192.168.1.26 6c-40-08-a4-86-e0 dynamic
192.168.1.32 c0-f8-da-80-11-69 dynamic
192.168.1.49 00-d0-2d-49-a9-e1 dynamic
192.168.1.55 c0-56-e3-a0-ea-27 dynamic
192.168.1.56 c4-2f-90-d4-25-1b dynamic
192.168.1.57 44-47-cc-89-19-92 dynamic
192.168.1.59 ec-71-db-b7-4c-bd dynamic
192.168.1.66 4c-1b-86-ee-f6-bd dynamic
192.168.1.81 fc-03-9f-50-df-32 dynamic
192.168.1.103 a8-54-b2-90-fa-65 dynamic
192.168.1.109 a8-47-4a-77-c0-c1 dynamic
192.168.1.115 ec-71-db-aa-2b-90 dynamic
이제 주소와 MAC가 있으므로 어느 것이 어디로 가는지 알아내는 것이 문제입니다. 아직 IP를 모른다면 netstat가 도움이 될 수 있습니다.
또한 최신 시스템에서는 최신 arp -a 명령을 사용하여 ip neigh를 제공합니다.
행운을 빌어요.