Показать сетевые соединения процесса

нет никакой потери производительности в выравнивании 512 дисков на 4 096 границах. с тех пор 4096 является кратным 512, 512 дисков также будут выровненные на 512 границах.

27
03.10.2015, 01:22
4 ответа

Вот другой подход:

ss -nap | grep $ (pidof firefox)

Пример вывода:

tcp    ESTAB      0      0          192.168.0.222:49050    216.58.218.164:443    users:(("firefox",3280,69))
tcp    ESTAB      0      0          192.168.0.222:48630    198.252.206.25:443    users:(("firefox",3280,106))
tcp    ESTAB      0      0          192.168.0.222:44220     216.58.217.38:443    users:(("firefox",3280,140))
tcp    ESTAB      0      0          192.168.0.222:52690    54.240.170.181:80     users:(("firefox",3280,107))
tcp    ESTAB      0      0          192.168.0.222:48744    198.252.206.25:443    users:(("firefox",3280,87))
tcp    ESTAB      0      0          192.168.0.222:48811    198.252.206.25:443    users:(("firefox",3280,73))
9
27.01.2020, 19:39

Вы также можете попробовать с помощью netstat -p . На странице руководства:

netstat - Распечатайте сетевые соединения, таблицы маршрутизации, статистику интерфейсов, маскарадные соединения и многоадресное членство

Чтобы показать только сетевые соединения, используйте netstat -tup . Обратите внимание, что для просмотра PID процесса вам может потребоваться быть root.

Если в вашей системе нет netstat , у вас может быть ss , имеющий почти точный синтаксис. Затем вы можете использовать ss -tup (как root).

5
27.01.2020, 19:39

Попробуйте

lsof -i -a -p `pidof firefox`
15
27.01.2020, 19:39

Вы ищете strace ! Я нашел этот ответ на askubuntu , но это действительно для Unix:

Для запуска и мониторинга нового процесса:

 strace -f -e trace = network -s 10000 АРГУМЕНТОВ ПРОЦЕССА 
 

Для отслеживания существующего процесса с известным PID:

 strace -p $ PID -f -e trace = network -s 10000 
 

В противном случае, но это специфично для Linux, вы можете запустить процесс в изолированном сетевом пространстве имен и используйте wirehark для отслеживания трафика . Это, вероятно, будет удобнее, чем чтение журнала strace :

  • создать пространство имен тестовой сети:

     ip netns add test 
     
  • создать пару виртуальных сетевых интерфейсов ( veth-a и veth-b):

     ip link add veth-a type veth peer name veth-b 
     
  • изменить активное пространство имен интерфейса veth-a:

     ip link set veth-a netns test 
     
  • настройте IP-адреса виртуальных интерфейсов:

     ip netns exec test ifconfig veth-a up 192.168.163.1 netmask 255.255.255.0 
    ifconfig veth-b up 192.168.163.254 netmask 255.255.255.0 
     
  • настроить маршрутизацию в тестовом пространстве имен:

     ip netns exec test route добавить gw по умолчанию 192.168.163.254 dev veth-a 
     
  • активируйте ip_forward и установите правило NAT для пересылки трафика, поступающего из созданного вами пространства имен (вам необходимо настроить сетевой интерфейс и IP-адрес SNAT):

     echo 1 > / proc / sys / net / ipv4 / ip_forward 
    iptables -t nat -A POSTROUTING -s 192.168.163.0/24 -o YOURNETWORKINTERFACE -j SNAT --to-source YOURIPADDRESS 
     

    (Вы также можете использовать правило MASQUERADE, если хотите)

  • наконец, вы можете запустить процесс, который хотите проанализировать, в новом пространстве имен, а также wirehark:

     ip netns exec test thebinarytotest 
    ip netns exec test wirehark 
     

    Вы Придется следить за интерфейсом veth-a.

28
27.01.2020, 19:39

Теги

Похожие вопросы