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

Как использовать Linux для захвата пакетов на eth0 и отправки всего на eth1?

Сегодня я получил подключение к Интернету предприятия вместе с роутером Sagemcom. При первом подключении к Интернету на обновление прошивки потребуется 20 минут.

Я действительно хотел бы захватить весь трафик для этого обновления с помощью хоста CentOS с двумя сетевыми адаптерами, чтобы понять, как выполняется проверка подлинности обновлений. Например. с секретной учетной записью пользователя и парольной фразой?

Если я хочу разместить хост CentOS между подключением к Интернету и маршрутизатором:

Вопрос

Вы можете настроить eth0 и eth1 как мост и предполагая, что eth0 подключен к Sagemcom, а eth1 подключен к Интернету. Трафик будет проходить через мост, после чего вы можете запустить дамп TCP на мосту и захватить весь трафик.

Вам понадобится пакет bridge-utils

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up

tcpdump -s0 -w dump.pcap -i br0

Сначала вы должны настроить свой CentOS-сервер в качестве маршрутизатора, что в основном включает в себя включение пересылки пакетов (обычно конечным пунктом является машина), если вы хотите пропустить трафик.

Простая часть этого меняется /etc/sysctl.conf.
+ Изменить

net.ipv4.ip_forward = 0 к 1.

Затем вы должны установить eth0 в одной сети, eth1 в другой, и добавить маршрут между сетями.

Конфигурирование других вещей, таких как брандмауэры или selinux, зависит от вас.

Я бы использовал tcpdump -s0 -n host < router IP > -w upgrade.pcap -i any
Хотя некоторые из них могут быть избыточными, например, если вы слушаете трафик, идущий на IP-адрес маршрутизатора и от него, я считаю, что вам не нужно много указывать в способе интерфейсов.