Я на OSX Mountain Lion 10.8.3, и я недавно перезагрузил свой Mac.
Я хочу запустить службу (например, Apache на порту 80), но с портом 80 уже что-то происходит:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Подождите, я слышал, вы говорите, вы можете найти это с помощью lsof или netstat. Кроме ничего там
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Итак, из того, что я знаю о системах Unix, я полагаю, что это должно быть правило пересылки пакетов? Т.е. пакеты пересылаются с входящего порта 80 на что-то другое, которое прослушивает эту услугу.
ipfw show
65535 0 0 allow ip from any to any
Хм, ничего необычного там
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Там нет ничего необычного
У меня вопрос, как я могу отобразить какие-либо правила пересылки пакетов ... В Linux я мог бы просто сделать iptables -L -t NAT или iptables -L. Или, в качестве альтернативы, могут ли специалисты OSX помочь мне диагностировать эту проблему?
lsof
Grep вы использовали бы вернуться пустым; номера портов сопоставляются с /etc/services
именами. Попробуйте lsof -i | grep http
...
-i :port
формат, только если вы grep. Проблема будет в том, что lsof
для просмотра процессов других пользователей требуются права доступа root, так что вы должны использовать sudo lsof -i :80
(и я бы попробовал это без grep
, просто чтобы убедиться ...)
lsof -i :80
, оставаясь подключенным к сеансу Telnet? И кроме попытки http: // localhost / , может быть, что-то введя в этой подсказке Telnet, покажет что-то ...? (Опять же, я знаю: даже если вы поймете это таким образом, это не будет ответом на ваш вопрос ...)