Unix Snoop Command
Выполняю тестирование на сервере прямо сейчас. И клиент, и сервер находятся на моей машине. Я пытаюсь отследить пакеты между ними, но мне не везет. Вот некоторые варианты, которые я пробовал:
sudo snoop host myHost and port 443 or port 8443
sudo snoop to host myHost from host myHost
Ни один из них не возвращает никаких результатов. Это предполагает:
- snoop не может перехватить пакеты, которые находятся между одним и тем же хостом
- Я использую Snoop неправильно
- мой клиент и сервер делают что-то странное
Все эти команды возвращают много информации (поэтому я предполагаю, что она работает и настроена правильно)
sudo snoop
sudo snoop host myHost
4 ответа
Насколько мне известно, Solaris не позволяет вам захватывать данные на локальном петлевом интерфейсе (lo0, в вашем случае). Например, эта страница прямо заявляет, что это не может быть сделано на Solaris без перекомпиляции ядра.
Таким образом, вам придется либо настроить клиент и сервер на отдельных машинах, либо посмотреть, есть ли какой-нибудь способ для маршрутизации трафика через вашу сеть (чтобы он проходил через интерфейс без обратной связи).
Я не очень знаком с Snoop, но, возможно, вам повезет с Wireshark?
Вы слушаете на одном из интерфейсов Ethernet, но говорите по шлейфу. От snoop
справочная страница:
-d устройство Получать пакеты из сети, используя интерфейс, указанный устройством. Обычно le0 или ie0. Программа netstat(1M), когда вызывается с флагом - я, перечисляет все интерфейсы, которые есть у машины. Обычно, Snoop автоматически выберет первый не петлевой интерфейс он находит.
Так что, если вы хотите прослушивать локальные коммуникации, добавьте интерфейс обратной связи, используя -d
вариант.
- Войдите на свой компьютер как пользователь root.
Запустите команду snoop, как показано ниже:
root @ psp-2 # snoop -o /export/home/john/file.pcap
Использование устройства vnet0 (случайный режим)
Нажмите Ctrl+C, чтобы остановить захват пакета.
- Вы можете проверить требуемый захват пакета по указанному пути.