Wie kann ich herausfinden, welche IP:PORT der Apache-Webserver überwacht? Es gibt einige Netzwerkbefehle, aber sie zeigen den verwendeten TCP-Port an. Die Maschine hat mehrere Netzwerkschnittstellen und der Listen
Abschnitt darin httpd.conf
ist kommentiert. Eine davon wird also standardmäßig verwendet und ich weiß nicht, welche als Standard festgelegt ist.
Beispielsweise zeigt der folgende Befehl nur die Portnummer an
root@cluster:~# netstat -pat | grep httpd
tcp 0 0 *:ulistproc *:* LISTEN 3940/httpd
tcp 0 0 *:https *:* LISTEN 3940/httpd
Außerdem gehe ich davon aus, dass die richtige Portnummer 80 und nicht 3940 sein sollte!
Irgendeine Idee, das herauszufinden?
Antwort1
Die letzte Spalte ist der Prozess (Prozessnummer/Prozessname) und nicht der Port. Der Port steht in der vierten Spalte, in Ihrem Fall werden zwei offene Ports angezeigt: ulistproc und https. Beide Ports sind für die Adresse „*“ geöffnet, was alle Adressen auf Ihrem Computer bedeutet (das ist die normale Vorgabe für die meisten Daemons, es gibt eine Konfiguration, um es einzuschränken). Wenn Sie die tatsächlichen Portnummern möchten, verwenden Sie „netstat -pant“, um die symbolische Konvertierung zu verhindern.
Antwort2
Geben Sie als root ein
netstat -pat | grep httpd
(oder grep apache
abhängig von Ihrer Distribution)
Antwort3
nmap localhost
cat httpd.conf | grep port
Antwort4
Neben der Verwendung von netstat können Sie auch lsof
zum Auflisten geöffneter Dateien (Streams, Sockets, Blockdateien usw.) verwenden.
root@host: lsof -i -n -P |grep httpd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 4291 root 3u IPv4 124715 0t0 TCP *:80 (LISTEN)
lsof (8) - Liste geöffneter Dateien
-i = IPv4/6-Dateien anzeigen
-n = Hostnamen nicht auflösen (d. h. IPs anzeigen)
-P Portnummern statt Anzeigenamen anzeigen (d. h. 80 statt HTTP).