Korzystam z systemu OSX Mountain Lion 10.8.3 i niedawno zrestartowałem komputer Mac.
Chcę uruchomić usługę (jak Apache na porcie 80), ale już coś się dzieje z portem 80:
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Czekaj, słyszę jak mówisz, możesz to znaleźć za pomocą lsof lub netstat. Tyle że nic tam nie ma
netstat -an | grep LISTEN | grep '\.80'
*comes back blank*
lsof -i :80 | grep LISTEN
*comes back blank
Więc z tego, co wiem o systemach uniksowych, uważam, że to musi być reguła przekazywania pakietów? Tj. Pakiety są przekazywane z portu wejściowego 80 do czegoś innego, który nasłuchuje w tej usłudze.
ipfw show
65535 0 0 allow ip from any to any
Hmm, nie ma w tym nic niezwykłego
pfctl -s nat
No ALTQ support in kernel
ALTQ related functions disabled
Nie ma w tym nic niezwykłego
Moje pytanie brzmi: w jaki sposób mogę wyświetlić dowolne reguły przekazywania pakietów ... W systemie Linux mogę po prostu zrobić iptables -L -t NAT lub iptables -L. Czy też eksperci OSX mogą pomóc mi zdiagnozować ten problem?
lsof
Grep użyłeś wróci puste; numery portów są mapowane na /etc/services
nazwy. Spróbuj lsof -i | grep http
...
-i :port
formatu, tylko jeśli grep. Problemem będzie to, że lsof
potrzebuje uprawnień roota, aby zobaczyć procesy innych użytkowników, więc powinieneś użyć sudo lsof -i :80
(i spróbowałbym tego bez grep
, tylko dla pewności ...)
lsof -i :80
będąc nadal połączonym w tej sesji Telnet? A poza próbą http: // localhost / , może wpisanie czegoś w wierszu polecenia Telnet ujawni coś ...? (Znów wiem: nawet jeśli wymyślisz to w ten sposób, nie byłaby to odpowiedź na twoje pytanie ...)