Как я могу сказать, из каких пакетов процесса происходят в Mac OS X? - PullRequest
1 голос
/ 17 июня 2011

Когда все приложения закрыты, tcpdump показывает, что мой Mac время от времени отправляет пакеты на несколько IP-адресов.Они представляют собой пакеты пакетов без полезной нагрузки данных и с необычными порядковыми номерами TCP (например, скрытый канал).Есть ли способ определить, какой процесс отправляет эти пакеты из командной строки или программно?

Примечание. Я использовал ipfw для фильтрации выходных IP-адресов назначения, поэтому меня не беспокоит эксфильтрация данных.

Ответы [ 3 ]

4 голосов
/ 17 июня 2011

Я бы ленился и просто установил Little Snitch (доступна бесплатная пробная версия);)

Однако, если это TCP-соединение, вы легко сможете найти виновника в netstat, если будете проверять во время или вскоре после отправки подозрительных пакетов.

И если вы хотите стать действительно модным, напишите себе расширение ядра, которое делает то, что вы хотите. У Apple есть прекрасный гид и даже пример кода , который делает именно то, что вы ищете.

1 голос
/ 28 февраля 2016

Apple внесла изменения в tcpdump, чтобы она поддерживала несколько параметров метаданных со страницы руководства Mac OS X tcpdump :

 -k     Control the display of packet metadata via an optional metadata_arg argument. This is useful when displaying packet saved in the pcap-ng file format
          or with interfaces that support the PKTAP data link type.

          By default, when the metadata_arg optional argument is not specified, any available packet metadata information is printed out.

          The metadata_arg argument controls the display of specific packet metadata information using a flag word, where each character corresponds to a type
          of packet metadata as follows:

                 I     interface name (or interface ID)
                 N     process name
                 P     process ID
                 S     service class
                 D     direction
                 C     comment

          This is an Apple modification.

Таким образом, при запуске tcpdump с -k N мы видим имя процесса:

19:12:51.823518 pid Google Chrome.313 svc BK IP 192.168.100.191.49424 > 216.58.209.133.443: Flags [.], ack 74, win 4093, options [nop,nop,TS val 507317615 ecr 3185588461], length 0 19:12:51.823518 pid Google Chrome.313 svc BK IP 192.168.100.191.49424 > 216.58.209.133.443: Flags [.], ack 329, win 4088, options [nop,nop,TS val 507317615 ecr 3185588462], length 0

1 голос
/ 25 февраля 2015

У меня был тот же вопрос, с одним исключением - мой TCP-трафик был на lo0, и он не был установлен, но какой-то процесс пытался подключиться к localhost и некоторому порту.Моей задачей было определить, кто пытается подключиться.Little Snitch в этот момент был бесполезен.

Но я обнаружил, что nettop довольно полезно.Я нашел процесс в его выводе, постоянно меняющий состояния TCP-соединения SynSent / Fin / и т. Д., И это было то, что я искал.

...