Назад | Перейти на главную страницу

tcpdump / Wireshark на ограниченном виртуальном сервере

Когда я пытаюсь сбросить некоторый трафик на сетевой интерфейс моего vserver, я получаю сообщение об ошибке, что мне не разрешено это делать:

# tcpdump -p -i eth0
tcpdump: eth0: You don't have permission to capture on that device
(socket: Operation not permitted)

Я предполагаю, что проблема в том, что мой серверный провайдер, похоже, использует решение виртуализации с общим ядром Linux (uname возвращает «2.6.33.7-vs2.3.0.36.30.4-netcup» в качестве версии).

Любым способом, позволяющим мне сбрасывать исходящий трафик от одного процесса?

Вы можете попробовать использовать strace команда для отслеживания системных вызовов, выполняемых вашим приложением. Что-то вроде этого:

strace -o trace -e trace=read,write -s 8192 /path/to/my/command

Это запустит /path/to/my/command под контролем strace. Он будет регистрировать все read и write системные вызовы (то есть не только сетевой трафик, но и любой другой ввод-вывод) в файл с именем trace. Он будет регистрировать до 8192 символов для каждого вызова чтения / записи.

Это может помочь или не помочь в вашей текущей ситуации.