2016-07-12 2 views
-1

혼합 Linux 배포판 (일부 Solaris, 일부 RedHat, 일부 Ubuntu)에 대한 호스트 이름 목록이 있습니다. 이더넷 장치에 대한 IP 및 MAC를 가져와야합니다. 각 배포판.알려진 호스트 이름 목록에서 IP 및 MAC 정보를 얻는 방법

나는이 서버들에 대한 루트 액세스 권한이 없기 때문에 원격으로 다른 서버에서 실행되는 bash 스크립트를 작성하고 ifconfig의 출력에서 ​​파싱 된 IP 및 MAC을 리턴합니다. 이 스크립트는 예상 파일을 사용하여 암호를 전달하기 때문에 실행하는 데 오랜 시간이 걸리고 매우 우아하지 않습니다.

이렇게하는 것이 더 좋은 방법입니다. 나는 나를 위해 그것을 할 수있는 몇 가지 도구를 알고 있지만 불행히도 나는 그렇게 할 수있는 권한이 없어 추가 패키지를 설치할 수 없다.

출력이 arp -a인데 정확히 원하는 것을 제공하지만 이러한 문제 중 일부는 동일한 IP 주소에 바인드 된 여러 IP 및 호스트 이름이있는 것 같습니다. 그래서 다음과 같은 항목이 있습니다. SAME_MAC_ADDR의 HOSTNAME-1 (IP-1) eth0의 [ether] HAMENAME-2 (IP-2) at SAME_MAC_ADDR [ether] on eth0 ? (IP-2) at SAME_MAC_ADDR eth0의 [ether]

내가 가지고있는 호스트 이름 목록에서 모든 IP와 MAC 주소를 얻는 방법이 있습니까? 내가 여기서 arp가 필요하다고 생각하는거야?

둘째, 중복되는 경우 각 MAC 주소와 관련된 추가 호스트 이름이나 IP를 모두 얻을 수있는 방법이 있습니까?

답변

0

arp 명령은 연결하려는 호스트의 MAC 주소 및 연결된 IP 주소 목록을 표시합니다.

ifconfig는 올바른 도구 (또는 일부 배포판에서는 "ip a")입니다. "ip a"또는 "ifconfig"의 결과를 임시 파일에 저장하고 모든 원격 호스트에서 명령을 실행하기 위해 모든 컴퓨터에 cron 작업을 넣으려고하면이 파일을 donwload하고 로컬 서버?

그렇지 않으면 * IX 상자에서 네트워크 어댑터의 정확한 정보를 얻는 유일한 방법은 호스트에 들어가서이 정보를 요청하는 것입니다.

+0

감사합니다. 모든 시스템에서 cron 작업을 수행했지만, 주 서버에서 몇 분마다 cronjob을 실행하여 다른 모든 서버에서 세부 정보를 수집하는 데 약 4-5 분이 소요되었습니다. 내가 필요한 것을 할 수 있습니다! – user3712142

관련 문제