クライアントが接続に使用するアプリケーションの決定

クライアントが接続に使用するアプリケーションの決定

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

答え1

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

一般的に使用される実際の端末アプリケーションは重要ではないので、解決しようとしている実際の問題を説明するために質問を置き換える必要があるかもしれません。

答え2

クライアントは多くのツールを使用できますが、基本技術またはこれらの「ツール」はサーバーに接続するためにprotocols 同じ「」などを使用できます。SFTP, SSH, telnetしたがって、すべてのシステムは、一部のリモートホストがssh or sftpこのサーバーでセッションを開こうとしていることを確認します。詳細を確認してください/var/log/secure。あなたが見ることができるいくつかの一般的なメッセージは次のとおりです。

ssh次のツールを介してputty 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:しかし、あなたの仕事をするための高度なツールがあるかもしれません。このソフトウェアの世界では絶対に言わないでください!

関連情報