AFAIK, NIC получает все пакеты от проводной сети в локальной сети, но отклоняет те пакеты, чей адрес назначения не равен его ip.
Я хочу разработать приложение, которое отслеживает использование Интернета пользователями. У каждого пользователя есть фиксированный IP-адрес.
Я и некоторые другие люди подключены к неуправляемому настольному коммутатору Fast Ethernet DES-108 с 8 портами
Как было сказано ранее, я хочу захватить все трафик от всех пользователей, а не только те пакеты, которые принадлежат мне.
Как заставить мой сетевой адаптер или другие компоненты получать все пакеты?
linux
networking
packet
m.r226
источник
источник
Ответы:
Исправление: он отклоняет те пакеты, у которых их MAC- адрес назначения не равен его MAC-адресу (или групповой адресации или любых дополнительных адресов в его фильтре.
Утилиты захвата пакетов могут легко перевести сетевое устройство в беспорядочный режим, то есть обойти вышеупомянутую проверку, и устройство принимает все, что получает. Фактически это обычно значение по умолчанию: с
tcpdump
, вы должны указать-p
опцию, чтобы не делать этого.Более важная проблема заключается в том, переносятся ли пакеты, которые вас интересуют, даже по проводам на ваш снифф-порт. Поскольку вы используете неуправляемый коммутатор Ethernet, это почти наверняка не так. Коммутатор решает удалить пакеты, которые не принадлежат вам, с вашего порта, прежде чем ваше сетевое устройство сможет надеяться увидеть их.
Для этого необходимо подключиться к специально настроенному порту зеркалирования или мониторинга на управляемом коммутаторе Ethernet.
источник
В ранних версиях о концентраторах Ethernet (не коммутаторах) отправленные пакеты доступны всем хостам в подсети, но хосты, которые не являются предполагаемым получателем, должны игнорироваться.
Очевидно, что для насыщения подсетей не потребовалось много времени, поэтому для решения проблем была создана технология коммутации, и одна из вещей, которые они сделали, - это заставила сеть переключать только маршрутизируемые пакеты, предназначенные для этого хоста, на этот порт (плюс широковещательный трафик andyy). ).
Это усложняет мониторинг / анализ сети, поскольку вы можете прослушивать только пакеты, предназначенные для вашего хоста. С точки зрения безопасности это считалось хорошим, но с точки зрения мониторинга сети - не очень хорошим. Для обеспечения мониторинга сети поставщики реализуют функцию, называемую зеркалированием портов. Это должно быть настроено на сетевом коммутаторе, и ссылка ниже должна указывать правильное направление для продуктов D-link. Вы найдете его где-нибудь в программном обеспечении для управления коммутаторами или в интерфейсе веб-администратора. Если вы не найдете эти функции, то эта функция может быть недоступна для данного конкретного устройства.
http://www.dlink.com/uk/en/support/faq/switches/layer-2-gigabit/dgs-series/es_dgs_1210_como_monitorear_trafico_de_un_puerto_port_mirroring
источник
Сначала вам нужно переключить свой сетевой адаптер в беспорядочный режим. Давайте предположим, что ваш интерфейс NIC - это eth0.
Если вы находитесь в сети коммутатора, ваш сниффинг сводится к тому, что домен коллизий подключается к порту коммутатора. Вы можете запустить,
macof
чтобы перегружать таблицу пересылки коммутатора.Затем вы можете использовать
wireshark
илиtcpdump
для захвата всего трафика.Если вы не в коммутируемой сети, просто включите случайный режим и используйте
tcpdump
.источник
tcpdump
включит беспорядочный режим для вас. Вам не нужно делать это (и не забудьте отменить это, когда вы закончите) вручную.Вы изобретаете колесо.
Предполагая, что у вас есть простая сеть с клиентами, подключающимися к коммутаторам, со шлюзом по умолчанию в Интернет, тогда вам нужно только отслеживать на этом шлюзе по умолчанию. Это будет задвижка, чтобы показать весь трафик между клиентом локальной сети и интернетом.
Я предполагаю, что трафик между клиентом локальной сети и клиентом локальной сети не представляет интереса, поскольку при наличии всех IP-адресов в одной подсети IP локальный трафик не затрагивает шлюз по умолчанию.
Если вы действительно хотите видеть весь трафик, каждый пользователь должен находиться в своей собственной IP-сети, а трафик в другие сети осуществляется через шлюз по умолчанию. Вы можете выделить / 28 каждому человеку, и он может иметь 14 IP-адресов для себя.
Ваш средний домашний маршрутизатор не справится с большой частью этого, вам нужно будет изучить специальный брандмауэрный дистрибутив. Лично pfsense была бы моей идеей, но вариантов много.
источник