web-dev-qa-db-ja.com

接続に使用しているアプリケーションクライアントを特定する

Linux/Unixで、ユーザーがOSへの接続に使用しているクライアントアプリケーションを特定する方法はありますか?私たちの環境では、何千人ものユーザーがWinSCP、Dbvisualizer、PuTTYなどのクライアントアプリケーションを介してシステムに接続しています。ユーザーがサーバーへの接続に使用しているクライアントアプリケーションを確認する必要があります。

4
Salman Raza

簡単な答え:いいえ、確実な方法はありません。ターミナルアプリケーションは、適切なエスケープシーケンスでクエリを実行すると、利用可能な機能を報告することがよくありますが、これは、使用されているアプリケーションを検出するのに十分ではなく、非常に簡単に偽造される可能性があります。

一般に、使用される実際の端末アプリケーションは重要ではないので、おそらく、代わりに解決しようとする実際の問題を述べるために質問を言い換える必要があります。

11

クライアントが使用するツールはたくさんあるかもしれませんが、これらの「ツール」が使用する基本的な手法やprotocolsは、サーバーに接続するための「SFTP, SSH, telnet」などと同じです。したがって、そのシステムで表示されるのは、一部のリモートホストがこのサーバーでssh or sftpセッションを開こうとしていることだけです。詳しくは/var/log/secureをご覧ください。あなたが遭遇するいくつかの一般的なメッセージは次のとおりです。

sshPuTTY or xshellなどのツールを使用:

sshd[19199]: Accepted password for root from 10.10.10.10 port 51162 ssh2
sshd[19199]: pam_unix(sshd:session): session opened for user root by (uid=0)

sftp経由のwinscp

sshd[19238]: Accepted password for root from 10.10.10.10 port 51163 ssh2
sshd[19238]: pam_unix(sshd:session): session opened for user root by (uid=0)
sshd[19238]: subsystem request for sftp

PS:しかし、あなたの仕事をするかもしれない贅沢なツールがいくつかあるかもしれません。

4
ss_iwe