Подробное объяснение и пример команды tcpdump

Linux

Q: tcpdumpчто это
A: Захват пакетов
В: КромеtcpdumpЧто еще я могу захватить
A: wireshark
Вопрос: Почему вы не говорите оwiresharkзахват пакетов
A: wiresharkНедоступно в командной строке Linux

Подробное объяснение команды tcpdump

ключевые параметры

  • -c count: укажите количество отпечатков
  • -i interface: указать сетевой интерфейс, например, общийeth0,lo, в состоянии пройтиifconfigраспечатать все сетевые интерфейсы
  • -vv: вывести как можно больше информации

фильтр

Фильтр, как следует из названия, фильтрует часть пакетов,в то время как фильтр используетpcap-filterсинтаксис

так что вы можете просмотретьpcap-filterруководство

# 查看所有过滤器
$ man pcap-fliter

Фильтры можно просто разделить на три категории

  • type: Существует четыре типаhost,net,port,portrange
    • tcpdump port 22
    • tcpdump port ssh
  • dir: исходный адрес и адрес назначения, в основном включаютsrcиdst
    • tcpdump src port ssh
  • proto: согласен, даip,arp,rarp,tcp,udp,icmpЖдать
    • tcpdump icmp

tcpdump examples

  • Заказ:netstat -i
    Объяснение: вывести все сетевые интерфейсы

  • Заказ:tcpdump -i eth0
    Объяснение: Мониторинг сетевого интерфейсаeth0пакеты

  • Заказ:tcpdump host 172.18.0.10
    Объяснение: Отслеживание адреса хоста172.18.0.10пакеты

  • Заказ:tcpdump net 172.18.0.1/24
    Объяснение: Мониторинг сети172.10.0.1/24все пакеты

  • Заказ:tcpdump tcp port 443
    Объяснение: слушайте запросы https

  • Заказ:tcpdump tcp port 443 and host 172.18.0.10
    Объяснение: Прислушивайтесь к запросам https с адресом назначения или источника 172.18.0.10.

  • Заказ:tcpdump icmp
    Объяснение: Прослушайте протокол ICMP (например, обычную команду PING).

  • Заказ:tcpdump arp
    Объяснение: слушайте протокол ARP.

  • Заказ:tcpdump 'tcp[tcpflags] == tcp-syn'
    Объяснение: Прослушивание протокола TCPflagпоясSYNДа, его можно использовать для мониторинга трехэтапного рукопожатия

  • Заказ:tcpdump -vv tcp port 80 | grep 'Host:'
    Объяснение: найти все хосты в http

Статьи по Теме


Я Shanyue, программист, обожаю бегать и лазить по горам, буду регулярно выкладывать full-stack статьи в личном паблике. Если вас интересуют интервью с полным стеком, фронтенд-инжиниринг, graphql, devops, эксплуатация и обслуживание персональных серверов и микросервисы, вы можете подписаться на меня

如果你对全栈面试,前端工程化,graphql,devops,个人服务器运维以及微服务感兴趣的话,可以关注我