Hvad betyder åben havn??
Før vi går dybere ind i kontrol af åbne porte, skal vi først vide, hvad åbne porte betyder. En åben port eller en lytteport er den port, hvor et eller andet program kører. Den kørende applikation lytter på en eller anden port, og vi kan kommunikere med den applikation via den lytteport. Hvis en applikation kører på en port, og vi prøver at køre en anden applikation på den samme port, kaster kernen en fejl. Det er en af mange grunde til, at vi kontrollerer for åbne porte, før vi kører applikationer.
Liste over åbne porte ved hjælp af nmap
Network Mapper, kendt som nmap, er et open source og gratis værktøj, der bruges til at scanne porte på et system. Det bruges til at finde sårbarheder, finde netværk og finde åbne porte. I dette afsnit bruger vi nmap til at få en liste over åbne porte på et system. Først og fremmest skal du opdatere cache på Ubuntu, før du installerer nmap:
[e-mail-beskyttet]: ~ $ sudo apt-get update -yNmap kan installeres ved hjælp af følgende kommando i terminalen:
[e-mail-beskyttet]: ~ $ sudo apt-get install nmap -yEfter installation af nmap skal du kontrollere installationen ved at kontrollere versionen af nmap:
[e-mailbeskyttet]: ~ $ nmap --version
Hvis det giver versionen af nmap, er den installeret perfekt, ellers prøv ovenstående kommandoer igen for at installere nmap korrekt. Nmap bruges til at udføre flere relaterede til netværk, og havnescanning er en af disse opgaver. Værktøjet nmap bruges sammen med mange muligheder. Vi kan få listen over alle de tilgængelige indstillinger ved hjælp af følgende kommando:
[e-mailbeskyttet]: ~ $ man nmapFor at scanne din lokale vært skal du bruge kommandoen nedenfor:
[e-mail-beskyttet]: ~ $ sudo nmap localhost
Det viser alle de åbne porte på localhost, som vist i ovenstående billede. Vi kan også bruge nmap til at scanne eksterne værter:
[e-mail-beskyttet]: ~ $ sudo nmap 93.184.216.34Vi kan også bruge værtsnavnet på den eksterne server i stedet for en IP-adresse:
[e-mail-beskyttet]: ~ $ sudo nmap www.eksempel.comNmap-kommandoen kan også bruges til at scanne en række IP-adresser. Angiv rækkevidden af IP-adresser i kommandoen som i kommandoen nedenfor:
[e-mail-beskyttet]: ~ $ sudo nmap 192.168.1.1-10Ovenstående kommando scanner alle IP-adresser fra 192.168.1.1 til 192.168.1.10, og det viser resultatet i terminalen. For at scanne porte på et undernet kan vi bruge nmap som følger:
[e-mail-beskyttet]: ~ $ sudo nmap 192.168.1.1/24Ovenstående kommando scanner alle værter med IP-adresser i undernettet defineret i kommandoen.
Nogle gange skal du scanne porte på tilfældige værter, som er i forskellige undernet og ikke er i rækkefølge, så er den bedste løsning at skrive en værtsfil, hvor alle værtsnavne er skrevet, adskilt af et eller flere mellemrum, faner eller nye linjer. Denne fil kan bruges med nmap som følger:
[e-mailbeskyttet]: ~ $ sudo nmap -iL værter.txt
Vi kan bruge nmap til at scanne en enkelt port på systemet ved at specificere porten ved hjælp af '-p' flag sammen med nmap, som i følgende kommando:
[e-mail-beskyttet]: ~ $ sudo nmap -p 80 localhost
Porten kan også scannes på et system ved hjælp af nmap på følgende måde:
[e-mail-beskyttet]: ~ $ sudo nmap -p 80-85 localhost
Vi kan scanne alle systemets porte ved hjælp af nmap:
[e-mail-beskyttet]: ~ $ sudo nmap -p- localhost
For at få en liste over de mest åbne porte på dit system kan du bruge nmap-kommandoen med '-F' flag:
[e-mail-beskyttet]: ~ $ sudo nmap -F localhost
TCP-porte kan scannes på systemet ved hjælp af nmap ved blot at tilføje '-T' flag sammen med nmap kommandoen:
[e-mail-beskyttet]: ~ $ sudo nmap -sT localhost
Til UDP-porte kan du ligeledes bruge '-U' -flaget med nmap-kommandoen:
[e-mail-beskyttet]: ~ $ sudo nmap -sU localhost
Liste over åbne porte ved hjælp af lsof
Kommandoen lsof, også kendt som 'liste åbne filer', bruges til at få oplysninger om åbne filer, der bruges af forskellige processer i UNIX og LINUX som operativsystemer. For de fleste Linux-distroer er dette værktøj forudinstalleret. Vi kan kontrollere installationen af lsof ved blot at kontrollere dens version:
[e-mail-beskyttet]: ~ $ lsof -v
Hvis den ikke viser versionen, er lsof ikke installeret som standard. Vi kan stadig installere det ved hjælp af følgende kommandoer i terminalen:
[e-mail-beskyttet]: ~ $ sudo apt-get update -y[e-mail-beskyttet]: ~ $ sudo apt-get install lsof
Vi kan bruge kommandoen lsof sammen med forskellige muligheder. Listen over alle tilgængelige indstillinger kan vises ved hjælp af følgende kommando i terminalen:
[email protected]: ~ $ man lsofNu, i dette afsnit, skal vi bruge lsof til at vise porte på et system på forskellige måder:
[e-mail-beskyttet]: ~ $ sudo lsof -i
Ovenstående kommando har vist alle de åbne porte. Vi kan også bruge lsof-kommandoen til at vise alle de åbne stikkontakter:
[e-mail-beskyttet]: ~ $ sudo lsof -n -P | grep LYT
Vi kan liste filtrerede porte baseret på en protokol ved hjælp af lsof. Kør kommandoen nedenfor for at liste alle TCP-forbindelsestyper:
[e-mail-beskyttet]: ~ $ sudo lsof -i tcp
På samme måde kan vi liste alle UDP-forbindelsestyper ved hjælp af lsof på følgende måde:
[e-mail-beskyttet]: ~ $ sudo lsof -i udp
Liste over åbne porte ved hjælp af netstat
Netstat, også kendt som netværksstatistik, er et kommandolinjeprogram, der bruges til at vise detaljeret information om netværk. Det viser både indgående og udgående TCP-forbindelser, routingtabeller, netværksgrænseflader osv. I dette afsnit bruger vi netstat til at liste åbne porte på et system. Netstat-værktøjet kan installeres ved at køre følgende kommandoer:
[e-mail-beskyttet]: ~ $ sudo apt-get update -y[email protected]: ~ $ sudo apt-get install net-tools -y
Efter at have kørt ovenstående kommandoer, kan du kontrollere installationen ved at kontrollere netstat-versionen:
[e-mailbeskyttet]: ~ $ netstat - version
Hvis den viser versionen af netværktøjer, er installationen fin, ellers skal du køre installationskommandoer igen. For at få et overblik over alle de tilgængelige indstillinger, der kan bruges sammen med kommandoen netstat, skal du køre følgende kommando:
[e-mail-beskyttet]: ~ $ man netstatVi kan få en liste over alle lytteporte ved hjælp af netstat-kommandoen i Ubuntu ved at køre følgende kommando:
[e-mail-beskyttet]: ~ $ sudo netstat -l
Netstat-kommandoen kan også bruges til at filtrere lytning til TCP- og UDP-porte ved blot at tilføje et flag sammen med kommandoen. For at lytte til TCP-porte:
[e-mail-beskyttet]: ~ $ sudo netstat -lt
Brug følgende kommando til at lytte til UDP-porte:
[e-mail-beskyttet]: ~ $ sudo netstat -lu
For at få listen over alle de lytende UNIX-porte kan du køre følgende kommando i terminalen:
[e-mail-beskyttet]: ~ $ sudo netstat -lx
Liste over åbne porte ved hjælp af ss
Kommandoen ss bruges til at vise oplysninger om stikkontakter i et Linux-system. Det viser mere detaljerede oplysninger om stikkontakter end netstat-kommandoen. SS-kommandoen leveres forudinstalleret til de fleste Linux-distroer, så du behøver ikke installere den, før du bruger den. Du kan få en liste over alle indstillinger, som kan bruges sammen med kommandoen ss, ved at køre kommandoen 'mand' med ss:
[e-mail-beskyttet]: ~ $ man ssFor at få en liste over al forbindelse uanset deres tilstand skal du bruge kommandoen ss uden flag:
[e-mail-beskyttet]: ~ $ sudo ss
For at få en liste over alle lytteporte skal du bruge kommandoen ss med '-l' flag. Flagget '-l' bruges til kun at vise lytteporte:
[e-mail-beskyttet]: ~ $ sudo ss -l
For at få alle de lytende TCP-porte kan vi bruge '-t' og '-l' flag sammen med kommandoen ss:
[e-mail-beskyttet]: ~ $ sudo ss -lt
På samme måde kan vi få en liste over alle de lytende UDP-porte ved hjælp af kommandoen ss sammen med '-u' og '-l' flag:
[e-mail beskyttet]: ~ $ sudo ss -lu
SS-kommandoen kan også bruges til at få en liste over alle forbindelser med kilden eller destinationsporten. I det følgende eksempel vil vi få listen over alle forbindelser med destinationen eller kildeporten 22:
[e-mail-beskyttet]: ~ $ sudo ss -at '(dport =: 22 eller sport =: 22)'
Du får en liste over alle indgående og udgående forbindelser, hvis du har oprettet forbindelse til et eksternt system ved hjælp af ssh.
Konklusion
For systemadministratorer, sikkerhedspersonale og andre it-relaterede personer er det vigtigt at være opmærksom på de åbne porte på serverne. Linux er rig på de værktøjer, der bruges til at diagnosticere netværk og giver mange værktøjer, der kan være nyttige til forskellige former for netværksaktiviteter. I denne vejledning har vi brugt nogle værktøjer som netstat, ss, lsof og nmap til at kontrollere for åbne porte på Ubuntu. Efter at have gennemgået denne artikel, vil du være i stand til nemt at liste alle lytteporte på din Linux-server på mange måder.