Назад | Перейти на главную страницу

Как я могу выгрузить сырые пакеты из существующего TCP-сокета с помощью tcpdump на Mac и Linux?

Как только я узнаю комбинацию IP-адреса и номера порта, я могу запустить это, чтобы увидеть некоторые пакеты:

tcpdump | grep [IP-АДРЕС]

Кто-нибудь знает, как я теперь тоже могу видеть необработанные пакеты?

Спасибо!

Из tcpdump (1) страница руководства:

   -x     When  parsing  and printing, in addition to printing
          the headers of each packet, print the data  of  each
          packet  (minus  its  link level header) in hex.  The
          smaller of the entire packet or snaplen  bytes  will
          be printed.  Note that this is the entire link-layer
          packet, so for link layers that pad (e.g. Ethernet),
          the  padding  bytes  will  also  be printed when the
          higher layer packet is  shorter  than  the  required
          padding.

   -xx    When  parsing  and printing, in addition to printing
          the headers of each packet, print the data  of  each
          packet, including its link level header, in hex.

   -X     When  parsing  and printing, in addition to printing
          the headers of each packet, print the data  of  each
          packet  (minus  its  link  level  header) in hex and
          ASCII.  This is very handy for analysing new  proto‐
          cols.

   -XX    When  parsing  and printing, in addition to printing
          the headers of each packet, print the data  of  each
          packet,  including its link level header, in hex and
          ASCII.

Эти параметры могут отличаться в зависимости от версии tcpdump. См. Страницу руководства по вашей системе.

Может быть, проще работать с файлом дампа pcap, созданным

   -w     Write the raw packets to file  rather  than  parsing
          and  printing  them  out.  They can later be printed
          with the -r option.  Standard output is used if file
          is ``-''.

          This output will be buffered if written to a file or
          pipe, so a program reading from the file or pipe may
          not  see  packets  for  an  arbitrary amount of time
          after they are received.  Use the -U flag  to  cause
          packets to be written as soon as they are received.

а затем открыл WireShark.

Между прочим, не рекомендуется использовать grep для вывода tcpdump (поскольку в подробном режиме дампы пакетов являются многострочными). Подумайте об использовании чего-то вроде tcpdump host 10.0.0.1 или tcpdump net 10.0.0.0/24 или tcpdump port 80. Полный синтаксис фильтрации приведен в pcap-фильтр (7).