How-to: Sådan kontrollerer du olie på din bil – Tips og tricks til bilens motor | Opel Danmark
Indholdsfortegnelse:
Ved fejlfinding af netværksforbindelse eller applikationsspecifikke problemer bør en af de første ting, der skal kontrolleres, være, hvilke porte der faktisk bruges på dit system, og hvilket program der lytter til en bestemt port.
Denne artikel forklarer, hvordan man finder ud af, hvilke tjenester der lytter til, hvilke porte der bruger kommandoer
netstat
,
ss
og
lsof
. Instruktionerne gælder for alle Linux- og Unix-baserede operativsystemer som macOS.
Hvad er lyttehavn
Netværksport identificeres ved dens nummer, den tilknyttede IP-adresse og typen af kommunikationsprotokol, såsom TCP eller UDP.
Lytteport er en netværksport, som en applikation eller proces lytter til, der fungerer som et kommunikationsendepunkt.
Hver lytteport kan være åben eller lukket (filtreret) ved hjælp af en firewall. Generelt er en åben port en netværksport, der accepterer indgående pakker fra fjerne placeringer.
Du kan ikke have to tjenester, der lytter til den samme port på den samme IP-adresse.
Hvis du f.eks. Kører en Apache-webserver, der lytter til porte
80
og
443
og du prøver at installere Nginx, vil det senere ikke starte, da HTTP- og HTTPS-porte allerede er i brug.
Tjek lytteporte med
netstat
netstat
er et kommandolinjeværktøj, der kan give oplysninger om netværksforbindelser.
For at liste alle TCP- eller UDP-porte, der lyttes til, inklusive de tjenester, der bruger portene og socket-status, skal du bruge følgende kommando:
sudo netstat -tunlp
De indstillinger, der bruges i denne kommando, har følgende betydning:
-
-t
- Vis TCP-porte.-u
- Vis UDP-porte.-n
- Vis numeriske adresser i stedet for at løse værter.-l
- Vis kun lytteporte.-p
- Vis PID og navn på lytterens proces. Disse oplysninger vises kun, hvis du kører kommandoen som root- eller sudo-bruger.
Outputet ser sådan ud:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 929/master tcp6 0 0:::3306:::* LISTEN 534/mysqld tcp6 0 0:::80:::* LISTEN 515/apache2 tcp6 0 0:::22:::* LISTEN 445/sshd tcp6 0 0:::25:::* LISTEN 929/master tcp6 0 0:::33060:::* LISTEN 534/mysqld udp 0 0 0.0.0.0:68 0.0.0.0:* 966/dhclient
De vigtige kolonner i vores sag er:
-
Proto
- Den protokol, der bruges af soklen.Local Address
- IP-adressen og det portnummer, som processen lytter til.PID/Program name
- PID og processens navn.
sudo netstat -tnlp | grep:22
Outputet viser, at på denne maskinport anvendes 22 af SSH-serveren:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 445/sshd tcp6 0 0:::22:::* LISTEN 445/sshd
Hvis output er tomt, betyder det, at der ikke er noget, der lytter på porten.
Du kan også filtrere listen baseret på kriterier, for eksempel PID, protokol, tilstand osv.
netstat
er forældet og erstattet med
ss
og
ip
, men stadig er det af de mest anvendte kommandoer til at kontrollere netværksforbindelser.
Tjek lytteporte med
ss
ss
er nyt
netstat
. Det mangler nogle af
netstat
funktionerne, men udsætter flere TCP-tilstande, og det er lidt hurtigere. Kommandoindstillingerne er for det meste de samme, så overgangen fra
netstat
til
ss
er ikke vanskelig.
For at få en liste over alle lytteporte med
ss
skriver du:
sudo ss -tunlp
Output er næsten det samme som rapporteret af
netstat
:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd", pid=445, fd=3)) LISTEN 0 100 0.0.0.0:25 0.0.0.0:* users:(("master", pid=929, fd=13)) LISTEN 0 128 *:3306 *:* users:(("mysqld", pid=534, fd=30)) LISTEN 0 128 *:80 *:* users:(("apache2", pid=765, fd=4), ("apache2", pid=764, fd=4), ("apache2", pid=515, fd=4)) LISTEN 0 128:22:* users:(("sshd", pid=445, fd=4)) LISTEN 0 100:25:* users:(("master", pid=929, fd=14)) LISTEN 0 70 *:33060 *:* users:(("mysqld", pid=534, fd=33))
Tjek
lsof
med
lsof
lsof
er et kraftfuldt kommandolinjeværktøj, der giver information om filer, der er åbnet af processer.
I Linux er alt en fil. Du kan tænke på en socket som en fil, der skriver til netværket.
Sådan får du en liste over alle
lsof
TCP-porte med
lsof
type:
sudo lsof -nP -iTCP -sTCP:LISTEN
De anvendte indstillinger er som følger:
-
-n
- Konverter ikke portnumre til portnavne.-p
- Løs ikke værtsnavne, vis numeriske adresser.-iTCP -sTCP:LISTEN
- Vis kun netværksfiler med TCP-tilstand LISTEN.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 445 root 3u IPv4 16434 0t0 TCP *:22 (LISTEN) sshd 445 root 4u IPv6 16445 0t0 TCP *:22 (LISTEN) apache2 515 root 4u IPv6 16590 0t0 TCP *:80 (LISTEN) mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN) mysqld 534 mysql 33u IPv6 19973 0t0 TCP *:33060 (LISTEN) apache2 764 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) apache2 765 www-data 4u IPv6 16590 0t0 TCP *:80 (LISTEN) master 929 root 13u IPv4 19637 0t0 TCP *:25 (LISTEN) master 929 root 14u IPv6 19638 0t0 TCP *:25 (LISTEN)
De fleste af outputkolonnernes navne er selvforklarende:
-
COMMAND
,PID
,USER
- Navnet, pid'en og brugeren, der kører det program, der er knyttet til porten.NAME
- Portnummeret.
For at finde ud af, hvilken proces der lytter på en bestemt port, for eksempel port
3306
du vil bruge:
sudo lsof -nP -iTCP:3306 -sTCP:LISTEN
Outputet viser, at port
3306
bruges af MySQL-serveren:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 534 mysql 30u IPv6 17636 0t0 TCP *:3306 (LISTEN)
For mere information kan du besøge lsof man-siden og læse om alle andre kraftfulde muligheder for dette værktøj.
Konklusion
Vi har vist dig flere kommandoer, som du kan bruge til at kontrollere, hvilke porte der bruges på dit system, og hvordan du finder, hvilken proces der lytter på en bestemt port.
terminalJeg har for nylig tilmeldt mig en konto på kvidre og besluttet at fortsætte nøje, når du udfylder min Twitter profil. Twitter er et sted for folk at lytte til hinanden. At lytte starter ofte med en Twitter-profil. Så jeg undersøgte andre profiler og var overrasket over at finde mange mennesker ved hjælp af kommaer i en række ord, der beskriver sig selv.
Vi elsker alle at lytte til musik, især hvis det er i vores valgte lydplatform. Sådan går vi ned derfor er det altid godt at have en lydomformer til rådighed. Der er flere lydomformere derude, fra det gode til det forfærdelige. I dag skal vi tale om en lydkonverteringssoftware kendt som
Fre: ac
Sådan kontrolleres (scannes) for åbne porte i linux
Denne artikel beskriver adskillige tilgange til at finde ud af, hvilke porte der åbnes for ydersiden på dit Linux-system.