現在自分のマシンに接続されているvnc接続またはさまざまなユーザーの数を確認するにはどうすればよいですか? Wiresharkを介してのみ?そして、vncを介して接続されている他のユーザーを殺すにはどうすればよいですか?
Linuxでは、
_ss sport = :5900
_
ポート5900で現在確立されているTCP接続)を教えてくれます。
それ以外の場合は、何十も存在するため、使用しているVNCサーバーを知る必要があります。
VNCサーバーコマンドの名前がわかっている場合は、
_lsof -ai tcp -c that-command
_
(VNCサーバーを実行しているユーザーまたはrootとして)また、現在確立されているTCP接続はそのVNCサーバーによって処理されます(ポート5900にない場合)。
一般的な場合、TCP接続を閉じる方法には、次のものがあります。
tcpkill
(dsniff
パッケージから)は、接続を閉じるTCPパケットを偽造します。iptstate
(Linux)。ステートフルファイアウォールを使用している場合。 Linux接続トラッカーテーブルから接続を削除できます(xiptstate
)で、通常は新しいパケットが無視されます(ファイアウォールがTCP SYN)の新しい接続のみを受け入れるように構成されている場合)。接続が切断されることはありません。 、ただし、非アクティブにするだけです。iptables
、送信元と宛先で一致TCP OUTPUTのポートとIPアドレスおよびINPUTフィルターチェーン)call close(fd)
を実行します。ここで、fdは、対応するソケット(lsof
で確認できます)のファイル記述子であり、その後にdetach
(それはvncサーバーを混乱させるかもしれません、shutdown
の代わりにclose
を呼び出す方が安全かもしれません)。VncサーバーがXvncであると仮定して、次のワンライナーを試してください。
lsof -Pni | grep Xvnc | grep -v LISTEN
これにより、アクティブな接続が一覧表示され、プロセスのPIDとIPアドレスが表示されます。
この記事 によると、次のコマンドは「VNCコマンドライン」を含むプロセスへの接続を表示します。
# Sudo netstat -p | grep <name of VNC command-line>
更新
netstat
コマンドはroot
として実行する必要があることに注意してください