Невозможно отследить пакеты до определенного шлюза ip

464
forAllBright

Я пытаюсь сделать OSX host-A специальным шлюзом для Linux host-B. Запись шлюза по умолчанию B была удалена, и добавьте определенный шлюз, как показано ниже. Примечание: 98.136.144.138это IP-адрес доменного имени «search.yahoo.com». Хост-A может нормально связаться с search.yahoo.com. IP-адрес A есть 10.192.29.246и IP-адрес B есть 10.192.13.160.

enter image description here

Когда браузер host-B обновляет IP- 98.136.144.138адрес, веб-страница отображается, как и ожидалось. Но Wireshark не может перехватить какие-либо пакеты, иллюстрирующие, что пакеты от хоста-B достигают шлюза хост-A первым, а хост-A направляет эти пакеты. Почему информация не отображается?

  • Пакеты Wireshark перехвачены в host-B, как показано ниже. После того, как я добавлю конкретный маршрут и обновлю 98.136.144.138Yahoo Search в браузере хоста-B, появятся пакеты ниже линии на картинке. Но нет информации о пакетах для конкретного шлюза (хост-A). А как при необходимости доставить пакеты на шлюз?

enter image description here

  • Возвращает команду traceroute 98.136.144.138в host-B, как показано ниже. И почему первая линия - это старый шлюз по умолчанию 10.255.255.1, а не конкретный шлюз host-A. Host-A ip 10.192.29.246даже не показывал.

enter image description here

Если мы не можем отследить или перехватить данные от хоста-B к конкретному шлюзу (хост-A) в соответствии с таблицей маршрутизации при просмотре страницы «Поиск Yahoo», как мы узнаем, действительно ли произошло, что хост-B достигнет » Yahoo Search "страница через хост-A? Правила маршрутизации приведены в таблице маршрутизации, но нам нужно это знать. Любая помощь будет оценена.

Обновление: добавьте информацию о втором слое Wireshark ниже. 10.192.26.24является IP-адресом host-B сейчас, так как перезапущен (но host-A все еще 10.192.29.246). Первый пакет отправляется на MAC-адрес, 00:00:5e:00:01:02который принадлежит удаленному шлюзу по умолчанию 10.192.0.1. Но как все-таки отправить его на удаленный шлюз? Все последующие пакеты не содержат MAC-адрес хоста-A. enter image description here

enter image description here

Обновление: и схема для иллюстрации моей цели. enter image description here Я не уверен, что это правильно? Сегодня, когда я повторил это, хост-B мог 98.136.144.138сначала получить доступ, и Wireshark захватил некоторую информацию о «перенаправлении». Это реальная связь между хостом A и хостом B. enter image description here

Тем не менее, через некоторое время было странно, что host-B больше не мог получить доступ 98.136.144.138, но перехваченный Wireshark host-B действительно отправлял пакеты на host-A через уровень Ethernet II, а не на исходный удаленный шлюз по умолчанию. enter image description here

0
Какая версия ядра Linux работает на хосте B? Какова ваша полная таблица маршрутизации (как показано `ip -4 route` и` ip -4 rule`)? Какой смысл скрывать адреса 10.x? grawity 5 лет назад 2
@ Grawity Вопрос только что был обновлен как ваше предложение. Версия ядра host-B: `Linux admin-PC 4.16.0-kali2-686-pae # 1 SMP Debian 4.16.16-2kali2 (2018-07-04) i686 GNU / Linux`. Пожалуйста, продолжайте помогать в этом вопросе и дайте мне знать, если потребуется дополнительная информация. forAllBright 5 лет назад 0
В ответ на новый вопрос в обновленном разделе: укажите выходные данные: `ip route` и` ip address` на хосте конечной точки Linux. Это поможет определить конфигурацию хоста Linux. Slartibartfast 5 лет назад 0

1 ответ на вопрос

1
Slartibartfast

Ваш дисплей tcpdump / wireshark показывает адреса уровня 3 (IP). Связь со шлюзом происходит на уровне 2 (Ethernet).

Вы должны развернуть один (любой) из пакетов ниже красной линии и сравнить MAC-адреса источника и назначения кадра с двумя хостами. Один будет хостом источника (хост B), а другой должен быть MAC-адресом шлюза (хост A), если все работает правильно.

IP-адрес источника и получателя пакета не изменится при прохождении через сеть и маршрутизаторы, но MAC-адрес кадра Ethernet (или другого уровня 2) будет отличаться для каждого участка этой поездки.

Что касается traceroute, вы, вероятно, можете найти способ настройки системы OS-X для отправки ошибок ICMP, чтобы хост OS-X обнаруживался в traceroute, но не ясно, что это будет способствовать достижению вашей основной цели.

Спасибо за предложение. Я расширил эти пакеты и проверил информацию Ethernet II, но MAC-адрес хоста-A не появляется. forAllBright 5 лет назад 0
Я добавил скриншот внизу вопроса. Пожалуйста, проверь это. forAllBright 5 лет назад 0
В отредактированном разделе я вижу новый вопрос, и это здорово. У меня нет проблем, чтобы помочь вам понять, что происходит, но я хотел бы отметить, что это другой / дополнительный вопрос, и вам нужно будет уточнить / предоставить дополнительные данные, чтобы получить ответ. Я не уверен, как этот шаблон вписывается в модель StackExchange / SuperUser. Slartibartfast 5 лет назад 0
Поскольку новый обновленный вопрос, как вы упомянули, основан на оригинале, открытие нового вопроса также должно содержать исходное условие. Я добавил информацию `ip route` и` ip address` внизу вопроса. Пожалуйста, обновите ваш ответ, если вам удобно. Я очень благодарен за вашу помощь в этом. forAllBright 5 лет назад 0
Я думаю, что должно быть что-то не так! Учитывая то, что я пытался сделать, это сделать хост-А маршрутизатором для точной маршрутизации пакетов на шлюз по умолчанию хоста-А, но маршрутизатору нужно не менее двух интернет-интерфейсов, а хост-А имеет только один. Причина, по которой пакеты не отправляются на хост-A, неясна. Если пакеты отправляются на хост-А, то эти пакеты не должны быть маршрутизируемыми, верно? forAllBright 5 лет назад 0
Какова ваша основная цель здесь? Просто настроить систему OS-X в качестве маршрутизатора? Для чего заканчивается? Вы просто хотите захватить трафик в молчании? Какой у тебя план? Slartibartfast 5 лет назад 0
Да, просто сделайте систему OS-X маршрутизатором и одним сетевым адаптером для приема и передачи. Я пытаюсь копать глубоко для деталей. forAllBright 5 лет назад 0