WLAN에 연결되어 특수 하드웨어 장치가 연결됩니다. 나는 그 IP를 알고 있기 때문에 소켓을 통해 그 장치와 통신한다.연결된 네트워크 장치의 고유 ID 가져 오기
ID가 네트워크에서 하드웨어 장치를 식별 했습니까? Java에서 연결된 장치의 MAC 주소를 얻는 것이 불가능하다는 것을 알았습니다. 다른 대안이 있습니까?
감사합니다, 안부
WLAN에 연결되어 특수 하드웨어 장치가 연결됩니다. 나는 그 IP를 알고 있기 때문에 소켓을 통해 그 장치와 통신한다.연결된 네트워크 장치의 고유 ID 가져 오기
ID가 네트워크에서 하드웨어 장치를 식별 했습니까? Java에서 연결된 장치의 MAC 주소를 얻는 것이 불가능하다는 것을 알았습니다. 다른 대안이 있습니까?
감사합니다, 안부
Mac 주소는 고유해야합니다. 어쩌면 ARP 테이블에서 필요한 정보를 얻을 수 있습니다. "arp -a"명령은 Windows 및 Linux에서 작동합니다.
그러나이있는 문제 :Java에서 콘솔을 구문 분석 해 주셔서 감사합니다. – softwaresupply
당신은 장치의 반응의 제어가없는 장치가 어떤 식별 API의 호출을 포함하며, 다음 바로 IP 주소를 사용하지 않는 경우 그 IP는 라우터를 통해 해당 장치에 정적으로 할당됩니다. 그런 다음 IP < -> 장치 목록의 자체 테이블을 만들거나 라우터에서 IP 테이블을 긁어 모을 수 있습니다.
생각해 보면 아마도 MAC 주소를 같은 방법으로 얻을 수 있습니다. 라우터의 구성 화면에서 DHCP 테이블을 긁습니다.
위와 같이 IP가 고유하지 않습니다. 장치가 항상 동일한 IP를 갖는 것은 아니기 때문입니다. 예를 들어 장치를 다시 연결 한 후 또는 다른 라우터 네트워크에서도 마찬가지입니다. 런타임시 Java에서 고유 한 장치 ID를 찾고 싶습니다. – softwaresupply
그렇다면이 네트워크에서 라우터에 액세스 할 수 없다고 생각합니까? 장치와 응용 프로그램에 대한 제어권이없고 식별 가능한 정보를 보내지 않고 식별 API가없고 응용 프로그램을 쿼리하는 방법이 고유 한 특성이 없다면 운이 없게됩니다. –
경우에 따라 라우터를 제어 할 수 있습니다. 하지만 어쨌든 응용 프로그램은 런타임에 MAC 주소/ID를 결정해야합니다. – softwaresupply
장치의 IP를 이미 알고 있다고 명시해야합니다. 더 이상의 신분증이 필요합니까? 명확히하십시오. – NPE
장치 IP가 고유하지 않습니다. 문제는 프로그램이 ips를 저장한다는 것입니다. 그리고 다른 장치가 연결되어 있고 장치와 동일한 IP를 가지고 있다면 그 장치를 구별 할 수 있어야합니다. – softwaresupply
장치에서 실행되는 소프트웨어를 제어 할 수 있습니까? – NPE