どのアプリケーションがどのネットワークインタフェースを使用しているかを検出する

どのアプリケーションがどのネットワークインタフェースを使用しているかを検出する

どのアプリケーションがどのネットワークインターフェイスを使用しているかを確認できますか?

たとえば、Wi-Fi接続とLANケーブルがある場合、「skype:eth0」または「google chrome:wlan0」への明確な答えを得る方法はありますか?

ベストアンサー1

私の考えでは、wire-sharkまたはtcpdumpを使用してパケットをキャプチャし、アドレスを確認して、どのアプリケーションがどのIP(およびインタフェース)を使用して通信しているかを確認する必要があります。

アップデート1

コマンドでプロセスIDを取得したpgrep後、次のコマンドを使用できます。

   lsof -Pan -p PID -i

例:

pgrep firefox
23533

lsof -Pan -p 23533 -i
 COMMAND   PID   USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
 firefox 23533 iahmad   73u  IPv4 1317376      0t0  TCP   137.138.52.207:59237->104.16.116.182:80 (ESTABLISHED)
 firefox 23533 iahmad   74u  IPv4 1317600      0t0  TCP 137.138.52.207:46223->66.220.158.19:443 (ESTABLISHED)
 firefox 23533 iahmad   75u  IPv4 1316597      0t0  TCP 137.138.52.207:32950->198.252.206.25:443 (ESTABLISHED)
 firefox 23533 iahmad   79u  IPv4 1317730      0t0  TCP 137.138.52.207:32989->198.252.206.25:443 (ESTABLISHED)
 firefox 23533 iahmad   80u  IPv4 1317759      0t0  TCP 137.138.52.207:45125->31.13.71.7:443 (ESTABLISHED)

ip a sしたがって、コマンドを実行すると、137.138.52.207が私のeth0になります。 Firefoxはeth0を使用します。

スカイプの場合:

   pgrep skype
   24611

次に、次のようにします。

   lsof -Pan -p 24611 -i

Skypeのインターフェースも表示されます。

おすすめ記事