Я хочу простой способ показать все данные TCP (не заголовки TCP или что-либо еще), проходящие через любой интерфейс на моем компьютере с Linux.
Например, я хочу волшебную команду, которая, если я сделаю:
magic_commmand_I_want port=1234
затем, если на моей машине был сервер, прослушивающий порт 1234, и кто-то сделал:
echo hello | nc localhost 1234
# Note: "nc" (aka "netcat") is a simple tool that sends data to a host/port
Тогда магическая команда просто распечатает:
hello
Я пробовал "tcpdump", "ethereal", "tethereal", "tshark" и другие, но не совсем понятно, как их получить:
- не показывать IP-адреса или другие метаданные
- показывать только отправляемые «данные», а не отдельные пакеты и их заголовки
- печатать данные как есть, не в шестнадцатеричном виде и не с маркерами смещения пакетов
- прослушивать весь сетевой трафик (будь то на eth0 или eth1 или lo и т. д.)
Да, вы могли бы, вероятно, связать воедино переданный набор команд Unix, чтобы сделать это, но это не очень легко запомнить в следующий раз :)
Если у вас есть простой пример точной командной строки, которая делает это, я бы этого хотел.