次のリモートIPが正しいことを確認する必要があります。オペレーティングシステムオペレーティングシステムまたはその他勝つ
はい
12.43.223.4
23.54.67.3
23.5.6.3
私たちはLinuxシステム(redhat)を持っています。このシステムでは、リモートシステムがLinuxか他のシステムかを識別する必要があります。
私が知っている限り、nmapを介してそれを識別できます。
ところで、本番マシンにはnmapがインストールされていないので、別の方法を探したいと思います。
それでは、リモートシステムがLinuxか他のものかを確認する方法について提案がありますか? (nmap経由ではありません)
答え1
あなたの質問を正しく理解したら、あなたは尋ねています。
ネットワークにログインせずにコンピュータのオペレーティングシステムを識別する方法
これは許可されません。ネットワークがTCP / IPベースの一般的なIP(インターネットプロトコル)であると仮定すると、ネットワーク内のすべてのコンピュータシステムはこのプロトコルに基づいて通信します。それが処理する必要があるすべての場合は、次のようにします。
- まず、pingなどに応答しないなど、ネットワーク上のコンピュータが見えないように設定できます。
- しかし、このコンピュータシステムがネットワークに応答または応答するという指示が表示された場合は、Windows、Linux、macOS、Android、または他のシステムであるかどうかを推測できますか?あなたはできません:IP / TCPプロトコルはこれらのことをサポートしません。
システムが送信されたすべてのパケットのTCP / IPヘッダーにこれらの情報を含めるのに十分なレベルで構成されている場合は、おそらく使用できます。しかし、これは非常にカスタマイズされています。それ以外の場合は、システムにログインできない場合は、私が知っている確実な方法はありません。 SSHプロトコルはオペレーティングシステムとは無関係であるため、SSHプロトコルを介してシステムにログインする場合も同様です。したがって、コンピュータシステムがポート22でSSHを介して応答するのを見ると、オペレーティングシステムを持つすべてのコンピュータデバイスがそれに従うので、これを行うことができます。 SSHプロトコルは、インターネットプロトコルの上で発生します。
もちろんこれがIPがとても優れた理由です。同じプロトコルに従う限り、オペレーティングシステムに関係なく、すべてのデバイス間の通信を許可します。インターネットプロトコル。たとえば、あなたが男性であるか、女性であるか、または他の特徴があるかどうかを知る必要はありません。特定の言語プロトコル(この場合は英語)によれば、ある程度のコミュニケーションが可能です。
読みたいかもしれませんIPV4 wikipediaの記事、インターネットの歴史を除いて。
答え2
for i in hostname1 hostname2;
do
ssh -o 'StrictHostKeyChecking no' $i -A <<'EOF'
uname -a | awk '{if($0 ~ /Linux/){print "Its Linux os"}else{print "its not linux os"}}'
EOF
done