Где Wireshark перехватывает пакеты
Где Wireshark перехватывает пакеты в ядре Linux? Если выходной пакет перехвачен wireshark, будет ли пакет определенно отправлен через соответствующий интерфейс? Другими словами, может ли выходной пакет, захваченный wireshark, быть отброшенным до его отправки?
1 ответ
Где Wireshark перехватывает пакеты в ядре Linux?
В UN*Xes используется libpcap, который в Linux использует сокеты AF_PACKET. (В Windows он использует WinPcap, который является драйвером плюс порт libpcap для использования драйвера.)
Если выходной пакет перехвачен wireshark, будет ли пакет определенно отправлен через соответствующий интерфейс?
Нет. Сетевой стек передает пакет в соответствующие сокеты AF_PACKET и в драйвер; драйвер может отбросить пакет (например, если в Ethernet он получил несколько коллизий и сдался), даже если пакет был доставлен в сокет AF_PACKET.
Другими словами, может ли выходной пакет, захваченный wireshark, быть отброшенным до его отправки?
Да. Смотри выше.