Какой самый простой способ прослушивания данных TCP-трафика под Linux?
Мне нужен простой способ показать все данные TCP (не заголовки TCP или что-то еще), проходящие через любой интерфейс на моем Linux box.
Например, мне нужна волшебная команда, которая, если я это сделаю:
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-адреса или другие метаданные
- показывать только посылаемые “данные”, а не отдельные пакеты и их заголовки
- печатать данные как есть, а не в hex, и не с помощью маркеров пакетного смещения
- прослушивать all сетевой трафик (идет ли он по eth0 или eth1 или lo и т.д.). …)
Да, для этого, вероятно, можно было бы связать воедино набор уникс-команд, но это не так просто запомнить в следующий раз :)
Если у вас есть простой пример точной командной строки, которая делает это, то это то, что мне нужно.