2012-03-28 3 views
1

자바를 사용하여 로컬 네트워크에서 터미널의 OS 버전을 얻는 방법에 대해 알고 싶습니다. 나는 UPNP가 그 일을 할 수 있다고 들었지만 그것을 어떻게 사용하는지, 그리고 자바에 좋은 구현이 있는지는 모른다.네트워크 터미널 (Java)의 OS 버전 얻기

추신 : 대상 터미널에서 활성화되어 있는지 확실하지 않아서 PS를 사용할 수 없습니다.

답변

0

nmap- 옵션과 함께 사용할 수 있습니다. 터미널에서 클라이언트를 실행할 필요가 없으며 정확도가 거의 완벽합니다.

+0

그래서 추한 방법 ** exec() ** 함수를 사용해야합니다. 내 터미널에 nmap이 설치되어 있어야하고, 안티 바이러스에 문제가 있거나 그다지 합법적이지 않은 경우 사용하기에 안전하지 않습니다. –

+0

사실 Nmap을 네트워크에서 사용하면 불법입니다. 어쨌든 스크립트를 실행하는 컴퓨터에만 Nmap을 설치해야합니다. 아마도 당신은 exec의 사용을 피하는 Java API를 찾을 수있을 것입니다. – raz3r

+0

OK 존재하는 경우 API를 검색합니다. –

1

http://nmap4j.sourceforge.net - Nmap을 감싸는 Java API입니다.

+0

정확하지는 않지만 답변에 감사드립니다. 나는 NMap의 지문 OS 탐지를 순수 자바 또는 OS 버전의 근사 탐지를위한 다른 솔루션으로 다시 발명하고있다. –

+0

당신을 진심으로 환영합니다. 필자는 OS 지문 인식을위한 순수 Java 구현을 찾는 것이 어려울 것이라고 생각합니다. 내가 알기에, 이것을하기 위해서 당신은 어떤 타입의 raw 패킷을 보내야 만한다. 이를 위해서는 OS 고유의 API와 루트 액세스가 필요합니다. Nmap의 OS 핑거 프린팅 지원은 꽤 좋으며 많은 지지자들이 있습니다. 플러스 Nmap은 잘 유지되고 있으며, 매년 많은 수의 릴리스를 만들고 버그 수정을 많이합니다. 나는 항상 사용자 커뮤니티와 개발자 커뮤니티가 매우 유용하다고 생각했습니다. – Jon