안정적인 네트워크 클라이언트 검색(mDNS 아님?)

안정적인 네트워크 클라이언트 검색(mDNS 아님?)

DHCP/IPv4 네트워크에 (Linux 기반) 장치가 있고 해당 UI는 LAN을 통해 브라우저/모바일 앱을 통해 이루어집니다. 까다로운 부분은 장치의 IP 주소를 찾는 것입니다. mDNS/DNS-SD를 사용하려고 시도했지만 문제가 발생한 것 같습니다.이 기사에 설명된- 동일한 네트워크에 있는 Wi-Fi와 유선 클라이언트 사이에는 확실히 동작 변화가 있습니다.

라우터의 IGMP 스누핑 설정을 전환해 보았지만 아무 도움도 되지 않는 것 같습니다. 클라이언트 애플리케이션이 라우터에 "예, 모든 mDNS 멀티캐스트 패킷을 나에게 전달해 주십시오"라는 신호를 보내기 위해 일종의 IGMP 멤버십 요청을 보내야 하는지 궁금합니다. (위 포스팅을 보면 알겠지만~해야 한다그것은 이미 일어났습니다.

마지막으로, 라우터의 DHCP 클라이언트 테이블을 볼 필요 없이 애플리케이션/사용자가 DHCP 네트워크에 있는 클라이언트의 IP 주소를 안정적으로 검색할 수 있는 방법이 필요합니다. mDNS가 아닌 경우 어떤 다른 옵션을 사용할 수 있습니까? 내가 생각할 수 있는 유일한 것은 사용자 정의 UDP 브로드캐스트 기반 프로토콜이지만, 가능하면 이를 피하고 "표준" 프로토콜을 사용하고 싶습니다. 그러나 장치 클라이언트와 사용자 클라이언트 모두에 대한 코드를 작성할 수 있으므로 유연성이 뛰어납니다.

답변1

나는 다음과 같은 것을 사용합니다 :

nmap -sP 192.168.11.0/24 | egrep 'scan report'

192.168.11.x 서브넷에서 핑 스캔을 수행합니다. 가능한 경우 호스트 이름과 함께 서브넷에 있는 모든 호스트의 IP 주소가 반환됩니다.

난 아니다정확히이것이 얼마나 신뢰할 수 있는지 결정하십시오. 목록에서 호스트가 제거되었다가 다시 나타나는 것을 보았습니다. 해당 호스트가 실제로 그 당시 네트워크에서 사용할 수 없게 되었는지... 누가 알겠습니까? 그런 일이 발생했을 때 다른 호스트의 연결을 확인하지 않았습니다. ...하지만ICMP ~해야 한다무선 연결의 반대편에 있는지 여부에 관계없이 최소한 네트워크의 모든 것을 볼 수 있습니다. YMMV.

솔직히 말해서 내 휴대폰에는 이 작업을 정말 잘 수행하는 "fing"이라는 앱이 있습니다(사실 기억하기 쉽기 때문에 nmap위 명령을 쉘 함수라는 이름으로 래핑했습니다 ).fing()

관련 정보