2013-05-08 5 views
2

.net 기반 응용 프로그램에서 원격 컴퓨터에서 실행중인 OS가 Windows 또는 Linux인지 확인하는 가장 빠른 방법은 무엇입니까?원격 컴퓨터의 OS 감지 방법

+1

WMI ..에 익숙하십니까? Google 검색을 시도해보십시오. 거기에 몇 가지 예제가 있습니다 .. 또한 실제로 시도했거나 조사한 – MethodMan

+1

[WMI 감지 C#을 사용하여 운영 체제] (http://andrewensley.com/2009/10/c-detect- windows-os-version- % E2 % 80 % 93-part-2-wmi /) – MethodMan

+0

많은 링크 ,,, 한 번 googled ??? http://stackoverflow.com/questions/336633/how-to-detect-windows-64-bit-platform-with-net ,, http://bytes.com/topic/perl/answers/943163-how-detect -remote-machine-os-while-connections, http://stackoverflow.com/questions/4682595/how-to-get-remote-machine-os-version-in-net-without-wmi – Freelancer

답변

3

그냥 핑 (ping)하십시오. TTL (Time-To-Live)이 254 이하이면 Unix 기반이고 TTL이 128 이하이면 창입니다.

+1

이 논리에 따르면 TTL 128은 유닉스와 윈도우 기반입니다. – Tyrsius

+0

방금 ​​해봤습니다. Windows의 경우 128 비트의 TTL을 얻었고 Linux의 경우 64 비트를 얻을 수있었습니다. Comments? – Faisal

+0

유닉스 기반 OS는 254에서 시작하고 윈드 우즈는 128에서 시작하지만이 값은 N의 수만큼 줄어 듭니다. 여기서 N은 컴퓨터와 원격 컴퓨터 사이의 홉 수입니다. 이제 컴퓨터와 원격 컴퓨터간에 126 홉의 가능성이 있습니까? – Farzan

관련 문제