Я несколько раз запускал TCPdump в своей домашней сети и обнаружил множество пакетов, которые были помечены (Cache Flush), по-видимому, с ноутбука моей сестры. Я не вижу никаких пакетов HTTP или HTTPS в течение периодов времени, когда я запускал TCPdump, что странно, потому что я почти уверен, что люди просматривали веб-страницы в то время, и я также видел только сбросы кеша, происходящие от нее компьютер, не от кого-либо еще. Что означают эти очистки кеша? Это остатки от сеанса HTTP или HTTPS? И почему я не вижу никаких пакетов HTTP/HTTPS в TCPdump, несмотря на то, что другие люди в доме были в сети? Просто я не использую TCPdump, пока кто-нибудь загружал веб-страницу? Или что-то еще? Кажется, я еще многое не понимаю в работе с сетями.
1 ответ
Ваш вопрос не завершен - многие разметки tcpdump зависят от протокола, поэтому просто сказать «пакеты помечены (Cache Flush)» вообще ничего не значит; Вам необходимо опубликовать полную информацию о пакете.
В частности, «(очистка кэша)» является параметром пакетов mDNS , которые используются для обнаружения услуг в локальной сети. Компьютеры, на которых запущен mDNS (обычно OS X, но также некоторые системы Linux или Windows с iTunes), периодически отправляют пакеты с надписью «меня зовут ZenComputer.local
» (а также дополнительную информацию о предлагаемых сервисах) и в основном " сбрасывают кэш" означает "забыть всю старую информацию об этом имени и кэшировать новую информацию".
(На этом замечании вам лучше использовать tshark или Wireshark - они обычно генерируют более согласованный и менее запутанный вывод.)
Вы не видите пакетов HTTP/HTTPS, потому что у вас нет активных соединений HTTP или HTTPS. Другими словами, вы видите только трансляции и собственный трафик.
Если вы используете Wi-Fi, адаптер Wi-Fi вашего компьютера автоматически отбрасывает все пакеты с "неправильным" адресом (частично, чтобы не тратить энергию, беспокоясь об мусоре ОС). Их можно увидеть, используя режимы "promisc" или "монитор" (см. Capture/WLAN на веб-сайте Wireshark), но часто это поддерживается только в Linux.
Если у вас есть проводное соединение, вы не будете получать эти пакеты вообще. Практически все сети Ethernet в настоящее время коммутируются - каждый порт Ethernet запоминает MAC-адреса подключенных к нему компьютеров и отправляет пакеты только на нужный порт. (Хотя 15 лет назад концентраторы Ethernet отправляли все куда угодно, и вы могли видеть данные, включив беспорядочный режим, это больше не так.)