リモート マシンにインストールされている OS の種類を調べる必要があります。私は、NMap のような OS フィンガー プリンティング ツールを使用して、リモート マシンの OS 固有の詳細を検出できることを知っています。しかし、ライセンスの問題があるため、そのようなツールは使用できません。OS を検出するには、独自のロジックを実装する必要があります。検索で、TTL に基づいて OS タイプを見つけることができるリンクを見つけました。ただし、TTL の使用が常に正確であるとは限りません。これはホップ計算に基づいています。
マシンにはいくつかの開いているポートがあります。それをスキャンすることで、どうにかして OS を見つけることができます。
OS の種類について何らかの考えを与えるようなポートはありますか? OS に基づいてスクリプトを実行するロジックを実装する必要があります。OS の種類を検出するのに役立つ条件がいくつかある場合は、時間を節約できる可能性があります。
if(IsOpen(Some_Port_Number))
{
//This machine might be a windows based one so
if(Run_WindowsBasedScript()==False)
{
Run_LinuxBasedScript();
}
}
else
{
if(Run_LinuxBasedScript()==False)
{
Run_WindowsBasedScript();
}
}
そこで、OS の種類を特定して実行時間を短縮する必要があります。開いているポートに基づいて OS を見つけることができると考えました。任意のヘルプをいただければ幸いです。