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

регистрация HTTP-трафика с помощью tcpdump на маршрутизаторе

У меня есть Linux-сервер, действующий как маршрутизатор между многими клиентами и Интернетом, и мне нужно получить некоторую статистику использования: мне нужно зарегистрировать, какие внутренние IP-адреса обращаются к внешним адресам.

Я использую это, чтобы проверить, какие внутренние IP-адреса имеют доступ к каким внешним IP-адресам:

tcpdump -n -i any port 80 or port 443 and src net 192.168.101.0/24

(Я использую -n и ищу позже)

Тем не менее, это также показывает мне множество дополнений, касающихся установления связи TCP и управления окнами. Можно ли показать только фактический HTTP-запрос?

Я нашел несколько подходов, большинство из которых включают grepпинг для GET\|POST, но при этом удаляются IP-адреса, что в первую очередь меня волнует.

Редактировать:

Короче да. Использовать httpryВот). Это открытый исходный код, и он основан на libpcap и очень близко подходит к тому, что вам нужно, поэтому потребует лишь небольшой настройки.

Если вы ограничены только родными инструментами, я бы подумал, что у вас есть доступный perl. Возможно, вы могли бы использовать этот скрипт на perl. называется chaosreader

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

Вы можете использовать инструмент захвата консоли wireharks tshark вот несколько примеров захвата один конкретно - захватить только http получает

Лично я использую urlsnarf из найденных инструментов dsniff Вот

(обратите внимание, с помощью любого из этих инструментов, хотя вы получите только http ... https будет защищен, если вы не выполняете расшифровку посередине. вы все равно увидите хосты, с которыми разговаривают клиенты, но не полный URL-адрес, к которому они обращаются)

Вы также можете изучить инструмент под названием ntop, который дает очень подробные возможности отчетности по трафику.