Сегодня мне позвонил старый друг, гуру в деле съемки, монтажа, Digital intermediate, бог Шейка и Color, которого иной раз (не приложу ума зачем) заносит в мутные пучины администрирования своей сети.
Итак, он установил на свой iPhone программку iNet, просканировал свою сеть, состоящую из одного Mac Pro о двенадцати ядрах и заволновался, что на компьютерах открыты странные порты, а в разделе Bonjour Query он видит очень странные названия. Rootkit!? Оказалось, пара видео приложений.
Я попросил его сделать снимок экрана, используя сверхполезную утилиту Bonjour Browser. По соображениям конфиденциальности я не буду приводить этот скриншот здесь, а покажу случайный.
Это крохотная компания на Маках (можно кликнуть), где нет никаких интересных приложений.
Мы видим, что сети о себе сообщает что-то куча компьютеров (и устройств, например, выделенная красным Time Capsule). Устройства в сети рассказывают, что на них установлен Mac OS X Server, что у них включен AFP, NFS, FTP или SFTP, благодаря Bonjour iTunes находит музыку, благодаря Bonjour мы видим компьютеры соседей в Finder.
Итак, во-первых, я хочу порекомендовать очень полезную программу Bonjour Browser (не рекомендовать же команду dns-sd), во-вторых ответить на вопрос Андрея, как узнать, а какая именно программа на диске отвечает за подключения по такому-то порту – сидит (а то и висит) и слушает на порту. С помощью чудесной программы Terminal.app!
bash-3.2# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ARDAgent 2346 kirilka 10u IPv4 0x15475680 0t0 TCP *:net-assistant (LISTEN)
AppleVNCS 2347 kirilka 9u IPv6 0x0859d1f0 0t0 TCP *:vnc-server (LISTEN)
Мы видим какой процесс запущен, кому он принадлежит, “кучу ненужной информации” и на каком порту он ждет подключений.
Кстати, так как многие серверные процессы управляются launchd, то для многих служб мы увидим:
launchd 1 root 23u IPv4 0x0828be14 0t0 UDP *:tftp
launchd 1 root 87u IPv4 0x0fadf2d4 0t0 TCP *:ftp (LISTEN)
launchd 1 root 94u IPv4 0x142bf6e0 0t0 TCP *:afpovertcp (LISTEN)
launchd 1 root 105u IPv4 0x15477aec 0t0 TCP *:microsoft-ds (LISTEN)
launchd 1 root 107u IPv4 0x0fb19b4c 0t0 TCP *:netbios-ssn (LISTEN)
Например, эти строки появились в выводе lsof оттого, что я включил Общий доступ в System Preferences и tftp (по лени используя TftpServer).