Windowsの特定のIPアドレスにアクセスするプログラムとプロセスIDを確認するにはどうすればよいですか?


19

特定のIPアドレスにアクセスしているプログラムをキャッチすることはできますか?

コンピューターがあふれているのを発見したため、アドレスを1つずつ確認したい。

これについて何らかの監査を設定することは可能でしょうか?

回答:


31

TCPViewソリューション

SystemInternalsのTCPViewは、「ローカルおよびリモートアドレスとTCP接続の状態を含む、システム上のすべてのTCPおよびUDPエンドポイントの詳細なリスト」を表示します。

TCPViewは、ローカルおよびリモートアドレス、TCP接続の状態など、システム上のすべてのTCPおよびUDPエンドポイントの詳細なリストを表示するWindowsプログラムです。Windows Server 2008、Vista、およびXPでは、TCPViewはエンドポイントを所有するプロセスの名前も報告します。TCPViewは、Windowsに付属するNetstatプログラムのより有益で便利なサブセットを提供します。TCPViewのダウンロードには、同じ機能を持つコマンドラインバージョンであるTcpvconが含まれています。

ここに画像の説明を入力してください

  • ドメイン名の代わりにIPアドレスを取得するには、「アドレスの解決」のチェックを外してください。

    ここに画像の説明を入力してください

「リモートアドレス」で結果を並べ替えて、関心のあるIPアドレスを見つけることができます。

例:

  • このスクリーンショットは、stackoverflow.comに接続しているFirefoxを示しています。

    ここに画像の説明を入力してください


CurrPortsソリューション

CurrPortsからNirsoftは非常に類似した機能を提供します。

CurrPortsは、ローカルコンピューターで現在開いているすべてのTCP / IPおよびUDPポートのリストを表示するネットワーク監視ソフトウェアです。リスト内の各ポートについて、プロセス名、プロセスの完全パス、プロセスのバージョン情報(製品名、ファイルの説明など)、時間など、ポートを開いたプロセスに関する情報も表示されます。プロセスが作成され、それを作成したユーザー。

ここに画像の説明を入力してください

例:

  • このスクリーンショットは、stackoverflow.comに接続しているFirefoxを示しています。

    ここに画像の説明を入力してください


結果を記録したい場合はどうすればよいですか?

TcpLogViewからもNirsoftは、 TCPのconnnectionsのロギングを提供します。

TcpLogViewは、システム上で開かれているTCP接続を監視し、TCP接続が開かれるたび、または閉じられるたびに新しいログ行を追加する単純なユーティリティです。すべてのログ行について、次の情報が表示されます。偶数時間、イベントタイプ(オープン、クローズ、リッスン)、ローカルアドレス、リモートアドレス、リモートホスト名、ローカルポート、リモートポート、プロセスID、プロセス名、および国情報リモートIPの(IPを国別ファイルに個別にダウンロードする必要があります。)

ここに画像の説明を入力してください


免責事項

私はSystemInternals(Microsoftの一部)やNirsoftとは何の関係もありません。ただ(無料の)ユーティリティのエンドユーザーです。


すぐに消えていくので、この方法でいくつかのパケットをキャッチすることは不可能だと思います。ロギングが必要です。
ディム

誰にパケットを送信しているかをキャッチしたいと想像してください88.221.132.207。どうやって見るの?このアプリケーションには、検索機能やフィルタリング機能さえありません。すなわち、私はそれが速く消えている場合でも目でそれをキャッチすることはできません。
調光

1
そして、あなたはおそらくのようなパケットスニファ必要Wiresharkの
DavidPostill

1
WiresharkプロセスIDは表示されません。(1)プロセス(2)IPを知る必要があります。両方
ディム

6
@Dims NirsoftのTCPLogViewも使用します。その答えは、更新
DavidPostill

8

Windows 7/8 * / 10では、リソースモニター->ネットワークタブを使用できます。

リソースモニターを開く最も簡単な方法は次のとおりです。

  • タスクマネージャーを開きます(右のタスクバー->タスクマネージャーの開始)
  • [パフォーマンス]タブをクリックします
  • [リソースモニター]ボタンをクリックします

リソースモニター->ネットワーク

* =未確認


2

adminコマンドシェルから追加のツールをダウンロードしなくても、これを実現できます。

adminコマンドシェルを実行します。

  • スタートボタンを押す
  • 「cmd」と入力します
  • Ctrl + Shift + Enterを押す

コマンドを入力します:netstat -tabn

スイッチの意味は次のとおりです。

  • -t現在の接続オフロード状態を表示します。
    • すなわち。確立済み、リスニング中、TIME_WAIT
  • -aすべての接続とリスニングポートを表示します。
  • -b 各接続または待機ポートの作成に関係する実行可能ファイルを表示します。場合によっては、既知の実行可能ファイルが複数の独立したコンポーネントをホストし、これらの場合、接続またはリスニングポートの作成に関連するコンポーネントのシーケンスが表示されます。この場合、実行可能ファイルは下部の[]にあり、上部に呼び出されたコンポーネントが続き、TCP / IPに達するまで続きます。このオプションは時間がかかる可能性があり、十分な権限がない限り失敗することに注意してください。
  • -nアドレスとポート番号を数値形式で表示します。

確かに、これは多くのGUIオプションによって達成される出力ほど洗練されていませんが、追加のツールをダウンロードすることなく存在し、利用可能です。Linuxでもわずかに異なるスイッチで動作します。


1

antikが言ったように、adminコマンドプロンプト内からnetstatを使用できます。ただし、のo代わりにを使用することをお勧めしますb。この方法では、エントリの1行に出力が表示され、findでさらにフィルタリングできます。プロセス名はありませんが、プロセスIDはあります。

例えば

netstat -aon | find ":80"

ポート80(ローカルまたはリモート)を使用するすべての接続を表示します

次に、タスクマネージャーでそのプロセスを確認するか、今回はタスクリストを使用してコマンドプロンプトで別のフィルターを実行します。

tasklist | find "1100"

または

tasklist /FI "PID eq 1100"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.