Как проверить 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