나는 약 40대의 컴퓨터를 가지고 있고 그들의 IP 주소가 무엇인지 알고 싶습니다. 한 가지 방법은 상자에 로그인하고 명령을 사용하여 IP 주소를 찾는 것입니다 ifconfig
. 하지만 이를 찾는 다른 쉬운 방법이 있습니까?
이렇게 모든 머신을 txt 파일로 저장하고 쉘 스크립트에서 읽을 수 있는데, IP 주소를 알아내려면 어떻게 해야 할까요?
machineA
machineB
machineC
답변1
DNS를 사용하는 경우 , , 등과 같은 도구를 사용하여 host
호스트 nslookup
이름 dig
에서 IP를 확인할 수 있습니다.
다음 라이너를 사용할 수 있습니다.
while IFS= read -r name; do host "$name"; done <hosts.txt
또는 호스트 이름 없이 IP 주소를 순서대로 가져오려면 다음을 사용할 수 있습니다 grep
.
while IFS= read -r name; do host "$name" | grep -o '[[:digit:]][^ ]*$'; done <hosts.txt
답변2
40개 시스템 중 하나에 이 arp 패키지를 설치하십시오.
sudo apt-get install arp-scan
그런 다음 해당 시스템에서 실행하십시오.
sudo arp-scan --interface=eth0 --localnet
이렇게 하면 모든 IP를 얻을 수 있습니다.
1) 원격 실행
2) 10분 정도마다 자동 실행 후 자동으로 텍스트 파일로 저장