web-dev-qa-db-ja.com

TCP接続を経時的に監視する方法

Windowsサービスのアプリケーションがあります。 TCP/IPを使用して他の多くのサービスにアクセスします。例えば。 SQLサーバーデータベース、Informixデータベース、メールサーバーなど。

たとえば、異なるサーバー上の複数のSQLサーバーインスタンスにもアクセスします。

1日の間に、接続されているさまざまなサービスをすべてログに記録したい場合、どうすればよいですか?

TCPViewを使用すると、必要なすべての情報を表示できます。リモートアドレス、ポートですが、リアルタイムビューであるため、データは保存されません。

7
peter

プロセスモニター あなたが探していることを正確に実行します

enter image description here

フィルタを設定したら、必ずFile->Backing Files...に移動し、ログを保存するファイルを選択してください。そうしないと、仮想メモリが不足するかプログラムを閉じると、古いログの削除が開始されます。

新しいバッキングソースを設定したら、必ずプログラムを再起動してください。プログラムを閉じて再度開くまで、変更は有効になりません!

7

Wireshark はあなたが望むことを正確に実行すると思います。

その強力なフィルターを使用して、特定のポートまたはIPからのTCPトラフィックのみを選択できます。つまり、実行させて、自分にとって重要なデータのみを収集することができます。ネットワークアダプタを通過するすべてのパケットレベルの通信を確認できます。

4
anglinb

Windowsを実行している場合は、スクリプトを実行するスケジュールされたジョブを設定できます。

netstat -t > C:\your_output_path

your_output_pathファイルには変数%time%と%date%を含めることができるため、スクリプトを実行するたびに、名前に時刻と日付が含まれるデータがファイルに出力されます。

nixUtils のようなツールをインストールすると、grepおよびgawkコマンドを使用して、不要なレコードを除外し、必要なものを1回だけ残すことができます。たとえば、PostgreSQL接続を取得するには、次のようにします。

netstat -t | grep 5432

このスクリプトを必要な頻度で実行すると、その時間中の接続の実行記録を含む多数のファイルが作成されます。

3
VL-80

TCPview と呼ばれる古いSysInternalsユーティリティにコンソールバージョンが付随していることに気づきました... TCPステロイドのnetstatのような.

0
frr