Я знаю, что WireShark позволяет захватывать пакеты в реальном времени, а также отображать детали в графическом интерфейсе. Есть ли подобная программа, которая работает на CLI, а не на GUI? Это предназначено для использования при установке сервера, в которой доступен только интерфейс командной строки (а также там, где дисковое пространство ограничено настолько, что не могут быть установлены зависимости для пакетов wireshark
(то есть пакетов для графического интерфейса пользователя). ]
Конечно, tshark
(текстовая акула), та же программа, но с неинтерактивным интерфейсом командной строки.
Можно также выполнить tshark на сервере и передать получения по ssh к wireshark gui работающий где-то в другом месте.
Например:
mbp@joy% sudo tshark -i wlan0 -p -R 'http'
Capturing on wlan0
3.929359 192.168.178.22 -> 66.102.11.104 HTTP GET / HTTP/1.1
4.104763 66.102.11.104 -> 192.168.178.22 HTTP HTTP/1.1 301 Moved Permanently (text/html)
4.118925 192.168.178.22 -> 66.102.11.104 HTTP GET / HTTP/1.1
4.295749 66.102.11.104 -> 192.168.178.22 HTTP HTTP/1.1 302 Found (text/html)
4.355713 192.168.178.22 -> 66.102.11.104 HTTP GET / HTTP/1.1
4.560568 66.102.11.104 -> 192.168.178.22 HTTP HTTP/1.1 200 OK (text/html)
4.588767 192.168.178.22 -> 66.102.11.104 HTTP GET /images/nav_logo40.png HTTP/1.1
Можно также сделать tshark ... |tee packetlog
таким образом, это переходит и к экрану и к файлу.
Или, альтернативно, tshark -w stuff.pcap
запишет необработанные пакеты в тот файл, который можно затем скопировать в другую машину и открыть в wireshark gui, если Вы хотите сделать больше всестороннего расследования.
tshark является хорошим вариантом.
Альтернативой является tcpdump , который является известным предшественником. Он широко доступен на других платформах, поэтому вы можете столкнуться с ним, даже если вы не используете его на своем сервере.