2012-12-22 12 views
6

Ich möchte Webserver-Apache auf einer Linux-Plattform installieren, die Port Nr. 80 verwendet, aber ich bin nicht sicher, ob Port offen ist oder nicht und von einer anderen Anwendung verwendet wird oder nicht.Wie überprüft man, ob ein bestimmter Port offen und unbenutzt ist?

  1. Ausgabe von grep 80 /etc/services ist:

http 80/tcp www www-http #World Wide web Http

http 80/udp www www-http #Hypertext transfer protocol

2. netstat -an | grep 80 | more:

es einige von denen IP gibt, ist IP: 80 TIME_WAIT

Könnten Sie bitte helfen und sagen, wie ich herausfinden kann, ob Port 80 offen und unbenutzt ist, damit ich mit der Installation beginnen kann.

+2

Für das, was Port hält es lohnt sich , '/ etc/services' ist vollständig statisch. Grepping kann Ihnen sagen, ob ein Port offiziell von der IANA oder einem anderen Server benannt wurde, aber nicht, ob er lokal verwendet wird. – tripleee

Antwort

2

Versuchen Rohrleitungen lsof in grep und die Suche nach einer Portnummer:

lsof|grep <port> 

Wenn nichts das bedeutet ist, den Hafen zeigt sich nicht in Gebrauch

Sie einen Prozess auf einem bestimmten Port

mit töten
kill -9 <pid> 

Wobei pid ist die Prozess-ID aus dem ersten Befehl erhalten.

+0

Hey Dillon: Es gibt mir die Ausgabe ... etwas crond, httpd .... etc mit einem Pfad auf der rechten Seite wie/sbin/klogd ...viele davon – Richa

+0

Der Grund, warum Sie viele Ergebnisse erhalten, ist, weil Sie Port 80 verwenden. Es gibt viele andere Prozesse, die auf diesem Port ausgeführt werden. –

+0

oh okay, das heißt, ich kann Port 80 nicht für Apache verwenden !! :(trotzdem danke für Ihre Hilfe – Richa

4
 netstat -tln | tail -n +3 | awk '{ print $4 }' 

Hier werden Bindungsadressen von tcp listening endpoint angezeigt. Alle anderen Endpunkte sind frei; Auch wenn auf Unix und Sie nicht als root angemeldet sind, dann binden Sie können nicht zu einer ‚privilegierten‘ Portnummer (Portnummer unter 1024)

näher erläutert:

netstat -tln - alle hören tCP-Ports

tail -n 3 - Schnitt des Headers netstat

awk '{print $ 4}' - die vierte Spalte drucken, die besteht aus [IP]: [port]

für die Generell müssen Sie immer noch darauf achten, alles auszuschneiden irrelevante Schnittstellen; Eine Abhöradresse 0.0.0.0 überwacht alle Netzwerkkarten, wenn eine IP-Adresse vorhanden ist, die der spezifischen IP-Adresse der Netzwerk-Auto-/Netzwerkschnittstelle entspricht.

0

Als Teil eines Skripts, das Sie wahrscheinlich so etwas wie dieses verwenden möchte:

resp=`netstat -tunl | grep ":80 "` 
if [ -z "$resp" ]; then 
    echo "80 Port is free" 
else 
    echo "80 Port is not free" 
fi 
1
sudo netstat -anp | grep ':80' 

Das sollte man & Namen des Prozesses geben pid die 80

Verwandte Themen