Использование netstat
и поиск PID или имени процесса:
# netstat -np --inet | grep "thunderbird"
tcp 0 0 192.168.134.142:45348 192.168.138.30:143 ESTABLISHED 16875/thunderbird
tcp 0 0 192.168.134.142:58470 192.168.138.30:443 ESTABLISHED 16875/thunderbird
И вы можете использовать watch
для динамических обновлений:
watch 'netstat -np --inet | grep "thunderbird"'
С:
-n
:Показывать числовые адреса вместо попыток определить символические имена хостов, портов или пользователей -p
:Показать PID и имя программы, которой принадлежит каждый сокет. --inet
:Показывать только сокеты протоколов raw, udp и tcp. Вы сказали, что пробовали инструмент strace
, но пробовали ли вы вариант trace=network
? Обратите внимание, что вывод может быть довольно подробным, поэтому вам может понадобиться некоторый поиск. Вы можете начать с поиска «sin _addr».
strace -f -e trace=network <your command> 2>&1 | grep sin_addr
Или для уже запущенного процесса используйте PID:
strace -f -e trace=network -p <PID> 2>&1 | grep sin_addr
Если я правильно помню, попробуйте использоватьifconfig
:
# ifconfig [network interface] inet [address] netmask [netmask]
Вам понадобится root
, поэтому сначала выполните su -
.
Чтобы подписаться на сообщение @ Кусалананды , если адрес 10.1.2.3
и сетевая маска 255.255.255.0
на сетевом интерфейсе vio0
, вы должны выполнить следующее:
# ifconfig vio0 inet 10.1.2.3 netmask 255.255.255.0