Как проверить ICMP в моем стеке на устройстве TAP?

Я пишу код для реализации простого стека TCP/IP через устройство TAP. Но когда я хочу проверить код ICMP, я обнаруживаю, что ping $(TAP IP) не будет отправлять пакеты на устройство TAP. Он всегда отправляет их в петлю. Итак, как я могу проверить свой код ICMP?

Моя система Ubuntu-18.04
Когда я проверяю ARP, я использую arping -I $(TAP NAME) $(TAP IP)и работает нормально. Но ping -I $(TAP NAME) $(TAP IP) по-прежнему отправляет пакеты в петлю.

1 ответ

Решение

Если вы хотите отправить пакет через ваш интерфейс крана, вы должны установить dst ip для удаленного адреса вместо вашего локального адреса. Предположим, ваш IP-адрес крана 192.168.1.10/24 Пингуй 192.168.1.20 например. И прежде чем пинговать, вы должны сначала установить static arp.

arp -s 192.168.1.20 12:34:56:78:90:ab
Другие вопросы по тегам