두 개의 네트워크 장치가 연결되어 있는지 확인하는 무료 Linux 소프트웨어가 있습니까? php 강좌도 괜찮을 것 같은데...
네트워크 토폴로지를 그리고 싶습니다. zenmap을 사용하면 네트워크의 장치를 확인할 수 있지만(결과를 파일에 저장함) 어떤 장치가 어느 장치에 연결되어 있는지 알 수 없습니다...(zenmap도 토폴로지를 그릴 수 있지만 저장하지는 않습니다) 파일로 )
답변1
"밖"에 대한 지식이 전혀 없는 상태에서 특정 지점에서 연결할 수 있는 모든 장치에 대한 완전한 지식에 이르기까지 네트워크를 "계획"하려는 것처럼 들립니다.
Linux 명령은 ethtool
인터페이스가 물리적으로 다른 것에 연결되어 있는지 여부를 알려줍니다. 좋은 시작이네요. 물론 연결하려는 장치가 라우터나 스위치인 경우에는 다른 작업을 수행해야 합니다.
이것은 실제로 심오하고 복잡한 문제입니다. 보안상의 이유로 종종 비활성화되는 핑 외에 보편적으로 인식되는 "안녕하세요, 나 여기 있어요" 프로토콜은 없습니다.
그러나 다음으로 처리해야 할 것은 현재 서브넷 마스크입니다. 이는 이 인터페이스를 통해 통신할 수 있는 IP 주소 범위를 알려줍니다. 일반적으로 서브넷에서 가능한 모든 IP 주소를 검색하는 것이 가장 안정적인 방법입니다( nmap
이와 같은 도구를 사용하여 수행). ping, Cisco 장치용 CDP 또는 Windows Vista/XP 시스템용 LLTD와 같이 이러한 목적을 지원하는 프로토콜을 사용하는 것이 가장 좋습니다.
여러 LAN 라우터를 다루는 경우 FIB( route
또는 ip route show
명령)의 라우팅을 사용하여 간접적으로 연결할 수 있는 다른 서브넷에 대해 알아볼 수 있습니다. 그런 다음 연결 가능한 것으로 알려진 다른 IP 범위를 검색할 수 있습니다.
그러나 전체 인터넷이나 매우 큰 서브넷에 대해 이야기하는 경우 이는 실용적이지 않습니다. 이 경우 실행 가능한 솔루션은 일반적으로 IGMP 또는 Bonjour와 같은 "검색" 또는 "랑데뷰" 서비스에 의존하는 것입니다. 그러면 배우고 싶은 장치에 대해서만 배울 수 있습니다. 하지만 인터넷 전체를 포트 스캔하는 것보다 낫습니다.
답변2
traceroute
좋은 시작일 수 있습니다. 자신의 호스트와 원격 호스트 사이의 홉 수를 표시합니다. 나는 그 중 하나에서 실행되는 것 외에 한 쌍의 리모컨에 대해 이런 종류의 정보를 얻을 수 있는 방법을 모릅니다 traceroute
.
답변3
장치 목록에 IP 주소와 넷마스크가 포함되어 있는 경우 기본 계층 3 다이어그램을 생성할 수 있습니다.
이로 인해 순수한 레이어 3 토폴로지가 생성되며 이는 아마도 좋은 시작일 것입니다. 또한 네트워크가 다소 복잡하면 제대로 작동하지 않습니다. 예를 들어 중복되거나 겹치는 서브넷이 있는 경우(아마도 NAT 또는 MPLS VPN 사용) 특정 IP 범위 내의 모든 장치가 연결되어 있다는 가정이 적용되지 않을 수 있습니다.