Где Wireshark перехватывает пакеты

Где Wireshark перехватывает пакеты в ядре Linux? Если выходной пакет перехвачен wireshark, будет ли пакет определенно отправлен через соответствующий интерфейс? Другими словами, может ли выходной пакет, захваченный wireshark, быть отброшенным до его отправки?

1 ответ

Решение

Где Wireshark перехватывает пакеты в ядре Linux?

В UN*Xes используется libpcap, который в Linux использует сокеты AF_PACKET. (В Windows он использует WinPcap, который является драйвером плюс порт libpcap для использования драйвера.)

Если выходной пакет перехвачен wireshark, будет ли пакет определенно отправлен через соответствующий интерфейс?

Нет. Сетевой стек передает пакет в соответствующие сокеты AF_PACKET и в драйвер; драйвер может отбросить пакет (например, если в Ethernet он получил несколько коллизий и сдался), даже если пакет был доставлен в сокет AF_PACKET.

Другими словами, может ли выходной пакет, захваченный wireshark, быть отброшенным до его отправки?

Да. Смотри выше.

Другие вопросы по тегам