Impossibile connettersi alla porta 80 su localhost


2

Accendo sudo nc -l 127.0.0.1 80. Non ci sono errori Allora ci provo telnet 127.0.0.1 80. Non si connetterà.

La stessa cosa con la porta 81 funziona bene.

Per quanto ne so, non ci sono firewall in esecuzione.

https://img.skitch.com/20120228-t8h98sccsde3w1jnf2tb55xdny.png mostra i comandi che sto usando. (i numeri sono nell'ordine in cui vengono eseguiti i comandi)

Sono su OS X 10.7.3.

Risposte:


4

FINALMENTE capito. Avevo installato Pow (http://pow.cx). Esegue questo script: http://get.pow.cx . Lo script installa alcune regole del firewall. Anche se avevo disabilitato Pow, le regole del firewall erano ancora in vigore. L'esecuzione dello script di disinstallazione pow lo ha risolto.


Anch'io. E avevo già scaricato manualmente l'elemento launchd del firewall Pow. : '(
indiretto

3

Ho diversi suggerimenti. Innanzitutto, verifica che il firewall del filtro pacchetti sia disattivato. Ecco un esempio sul mio Mac, con i firewall disattivati:

$ sysctl net.inet.ip.fw.enable
net.inet.ip.fw.enable: 1
$ sudo ipfw show
Password:
65535 0 0 allow ip from any to any

Il comando sysctl mostra che il firewall è effettivamente abilitato, ma il secondo mostra che le sue regole consentono tutto il traffico. I sintomi non sono coerenti con il firewall dell'applicazione, ma verificalo comunque solo per essere sicuro:

$ defaults read /Library/Preferences/com.apple.alf globalstate
0

Qui 0 significa off, 1 significa on e 2 significa modalità "Blocca tutte le connessioni in entrata". Se nessuno di questi mostra un firewall attivo, la prossima cosa che farei è eseguire tcpdump per vedere cosa sta succedendo tra telnet e nc. Ecco una connessione riuscita:

$ sudo tcpdump -ilo0 port 80
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo0, link-type NULL (BSD loopback), capture size 65535 bytes
20:35:28.193217 IP localhost.49531 > localhost.http: Flags [S], seq 1937962870, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 7494959 ecr 0,sackOK,eol], length 0
20:35:28.193286 IP localhost.http > localhost.49531: Flags [S.], seq 1740947472, ack 1937962871, win 65535, options [mss 16344,nop,wscale 3,nop,nop,TS val 7494959 ecr 7494959,sackOK,eol], length 0
20:35:28.193298 IP localhost.49531 > localhost.http: Flags [.], ack 1, win 65535, options [nop,nop,TS val 7494959 ecr 7494959], length 0
20:35:28.193307 IP localhost.http > localhost.49531: Flags [.], ack 1, win 65535, options [nop,nop,TS val 7494959 ecr 7494959], length 0

Questo ovviamente non risolverà il problema, ma potrebbe dare una buona idea di cosa sta succedendo.


1

Senza nc in ascolto, netstat -anmostra qualcosa che ascolta tcp sulla porta 80?

"Condivisione Web" è abilitato in Preferenze di Sistema -> Condivisione? Che esegue Apache ...


No, Apache non è in esecuzione. Se qualcos'altro fosse in esecuzione sulla porta 80, dire a nc di ascoltare su quella porta fallirebbe. netstat non mostra nulla in esecuzione sulla porta 80.
Joe Van Dyk,

0

Ho avuto questo problema in precedenza, con una versione precedente di Skype, che utilizza anche la porta 80. Per avviare Apache, ho dovuto interrompere Skype, avviare Apache, quindi riavviare Skype. Sembra andare bene nelle versioni più recenti però.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.