nc -lu <port no.>
特定のポートでデータが受信されていることを確認するためにコマンドを使用しています。転送が進行中の場合はデータを受け取ります(しかし、どこから始めるべきかわかりません!)。送信機のIPアドレスを提供する方法はありますか?
wireshark
しかしnmap
、可能であれば、より短いパスが欲しいです。
修正する:nc -luv
それは私が望むようですが、一度に1つのIPしか表示されません。そのポートを介して送信する複数のシステムがあるかどうか疑問に思います。
答え1
アプリケーションが特定のプロトコルを使用している場合は、ngrep(パケット検査用)またはtcpdump(ポート/ホスト追跡用)を使用できます。これは、ルーター、プロキシ、またはDNS(アプリケーションをホスト名にマップできる場合)で使用量を追跡するのに特に役立ちます。
SSHの例:
ngrep SSH-2.0
または、DNSを介してサイトにアクセスします(DNSはキャッシュできますが、長期的には誰が使用しているかを確認できます)。
ngrep bad.site.org port 53
またはIP経由で接続:
tcpdump host bad.site.org
最後に、-Aオプションと一緒にnmapを使用してポートを特定のプロトコルにマップできます。
nmap -A 192.168.0.0/16 -p 8000-9000 2>/dev/null | grep "Interesting ports on\|open"
nmapがそれを識別すると、IP、開いているポート、およびプロトコル/サービスが表示されます。
答え2
特定のネットワークポートを使用するアプリケーションnmap
は友達です。
それ以外の場合は、監視または配布ソフトウェアの種類が必要な場合、または各サーバーでスクリプトを実行して、インストールされているものと実行中のものを見つける必要があります。例:
ssh servername 'ps -ef|grep appname|grep -v grep'
アプリケーションが実際に実行されているかどうかを示します。
答え3
これまでに投稿された回答が好きです。以下はいくつかの異なるオプションです。
ncにオプションを追加すると、-v
受信したUDPパケットの最初の送信元アドレスのみが表示されます。
また、netstat -nu
UDPセッションに関するいくつかの接続状態情報があるようです。
答え4
同様の目的で使用する別のアイデアがあります。
iptablesにルールを追加します。
-A INPUT -p tcp --dport <PORT_TO_MONITOR> -m state --state NEW -j LOG --log-prefix "new_connection " --log-level 7
これにより、そのポートへの新しい接続ごとにシステムログに1行が追加されます。
私の考えでは、別のログファイルにリダイレクトすることもできます。