In het kort zullen we poorten binnen het computernetwerk beschrijven en verder zullen we praten over hoe we elke open poort in Linux kunnen vermelden.
Een poort kan worden gedefinieerd als een logische entiteit in computernetwerk- en softwaretermen.
Het fungeert als een communicatie-eindpunt voor het identificeren van een bepaald proces of een bepaalde toepassing op de Linux-besturingssysteem . Een haven is een 16-bit (o tot 65535) nummer dat een enkele applicatie onderscheidt van andere op verschillende eindsystemen.
Twee van de bekendste internettransportprotocollen, Gebruikersdatagramprotocol (UDP) En Transmissiecontroleprotocol (TCP) en andere protocollen passen poortnummers toe voor veel communicatiesessies (bestemmings- en bronpoortnummers in combinatie met de bestemmings- en bron-IP-adressen).
Een combinatie van een protocol, poort en IP-adres, zoals TCP/UDP heet een stopcontact. Het is noodzakelijk dat alle services een specifieke socket hebben.
wat is uri
Categorieën van haven
Deze poorten zijn voor gebruiksgemak onderverdeeld in drie categorieën, omdat de verscheidenheid aan poorten groot is. Alle categorieën zijn gelabeld als het poortwaardebereik:
0-1023: Deze poorten zijn bekend en gebeld 'Systeem' havens. Ze zijn gereserveerd voor de processen van het systeem die een enorm scala aan netwerkdiensten leveren. Een proces moet de rechten hebben van een superuser om met een proces te kunnen binden 'Bekend' haven.
1024-49151: Deze poorten zijn 'Geregistreerd' en belde de 'Gebruiker' havens. Ze zijn aangewezen via IANA voor unieke diensten. Een proces kan op verzoek worden geverifieerd. In de meeste systeemgevallen heeft het geen enkel privilege van een superuser nodig om deze poorten te gebruiken.
49152-65535: Deze poorten zijn 'Dynamisch' en belde de 'Privaat' havens. Er kan niet bij worden geregistreerd IANA. Dit soort poorten staan open voor gebruik voor aangepaste en particuliere diensten en kunnen ook worden toegewezen als kortstondige poorten (bekend als van korte duur poorten toegepast door IP) automatisch.
Er zijn zoveel manieren om open poorten in Linux te controleren. Standaard wordt een poort gesloten, tenzij een toepassing deze toepast. Een poort moet worden toegewezen aan een proces of service als deze open is.
Open de poortlijst
Het is gemakkelijker om te weten welke poort in gebruik is in plaats van welke poort open is. Daarom zal het onderstaande gedeelte methoden bieden voor het vermelden van elke poort die momenteel in gebruik is.
Er zijn verschillende tools aanwezig voor deze taak in Linux. De meeste zijn beschikbaar ingebouwd in een Linux-distributie.
In veel scenario's kan het nuttig zijn om erachter te komen welke poort momenteel open is. Het is mogelijk om een speciale poort te bepalen voor een gegarandeerde toepassing. Een open poort kan een sterke inbraakindicatie binnen het netwerk zijn.
De methoden worden gebruikt op Ubuntu 20.04 LTS die hieronder worden vermeld.
Maak een lijst van open poorten en protocollen met behulp van het bestand /etc/services
Het bestand, d.w.z. /etc/diensten bevat details over de actieve services (momenteel). Het is een groot bestand.
$cat /etc/services | less
Maak een lijst van open poorten met netstat
De netstat tool kan worden omschreven als een hulpprogramma om netwerkverbindingen voor routeringstabellen, TCP en verschillende netwerkinterfaces weer te geven. Het vergemakkelijkt ook statistieken van het netwerkprotocol. We zouden elke open poort van een systeem kunnen vermelden met behulp van de netstat-tool.
We kunnen het onderstaande commando uitvoeren:
$ netstat -atu
Laten we snel de uitsplitsing van elke vlag uitleggen die we in de bovenstaande opdracht hebben gebruikt:
1. een: Deze vlag informeert netstat over het weergeven van elke socket.
2. t: Deze vlag informeert netstat over het weergeven van TCP-poorten.
3. op: Deze vlag informeert netstat over het weergeven van UDP-poorten.
De netstat commando heeft nog een variant die hieronder wordt vermeld:
$ netstat -lntu
Twee vlaggen zijn nieuw in het bovenstaande commando, dat als volgt wordt uitgelegd:
1. ik: Deze vlag informeert netstat alleen over het afdrukken van de luistersockets.
2. zn: Deze vlag informeert netstat over het tonen van het poortnummer.
We kunnen een vlag gebruiken, d.w.z. '-P' om de proces-PID weer te geven die een poort gebruikt.
$ netstat -lntup
Controleer open poorten lokaal
De opdracht netstat is beschikbaar op elk computerbesturingssysteem voor het bewaken van netwerkverbindingen. Met het onderstaande commando wordt netstat toegepast om elke luisterpoort met het TCP-protocol weer te geven:
netstat -lt
Laten we kort de vlaggen definiëren die aanwezig zijn in de bovenstaande opdracht:
1. -l: Het vermeldt de luisterpoorten.
2. -t: Het specificeert het TCP-protocol.
Het resultaat is goed geordend in kolommen die het protocol, mensvriendelijke, verzonden en ontvangen pakketten, poortstatus, externe en lokale IP-adressen weergeven.
Als we het TCP-protocol wijzigen voor het UDP-protocol, toont de uitvoer alleen open poorten. Het resultaat wordt weergegeven zonder de status te beschrijven vanwege tegenstrijdigheid met het TCP-protocol.
netstat -lu
We kunnen de beschrijving van protocollen negeren en alleen de optie --listen of -l toepassen om details te krijgen over elke poort die vrij naar het protocol luistert:
netstat --listen
De bovenstaande optie toont de details voor Unix-, UDP- en TCP-socketprotocollen.
Elk voorbeeld hierboven laat zien hoe u de details kunt afdrukken via luisterpoorten zonder geautoriseerde verbindingen. De onderstaande opdrachten laten zien hoe luisterpoorten en geautoriseerde verbindingen worden weergegeven.
netstat -vatn
Waar:
1 in: Het wordt gebruikt voor breedsprakigheid.
2. -een: Het toont actieve verbindingen.
3. -t: Het toont TCP-verbindingen.
4. -n: Het geeft poorten weer (numerieke waarde).
Laten we zeggen dat we een verdacht proces in ons systeem herkennen en dat we de bijbehorende poorten willen controleren. We kunnen de opdracht lsof gebruiken die wordt gebruikt voor het weergeven van geopende bestanden die verband houden met processen.
lsof -i 4 -a -p
Waar,
1. -ik: Het geeft een overzicht van de bestanden die samenwerken met internet, de 6 optie aanwezig is IPv6, en de 4 optie geeft alleen instructies voor afdrukken IPv4.
2. -een: Het geeft aan dat het resultaat moet zijn Jij gaf.
3. -p: Het specificeert het proces-PID-nummer dat we willen controleren.
Geef open poorten weer met ss
De ss tool kan worden gespecificeerd als een hulpprogramma om de socket te onderzoeken. Het gebruik van deze tool is hetzelfde als de netstat commando.
zei Madhuri
We kunnen de onderstaande opdracht uitvoeren om de open poorten weer te geven:
$ ss -lntu
De bovenstaande vlaggen zijn hetzelfde als de netstat commando. De functies die door de ss-tool worden beschreven, zijn ook vrijwel hetzelfde.
1. ik: Deze vlag informeert ss voor het weergeven van de luisteraansluitingen.
2. zn: Deze vlag informeert ss om niet te proberen servicenamen af te leiden.
3. t: Deze vlag informeert ss voor weergave-TCP-sockets.
4. op: Deze vlag informeert ss voor het weergeven van UDP-sockets.
Geef open poorten weer met lsof
Het lsof-commando kan worden gebruikt voor het weergeven van geopende bestanden. Maar het kan ook worden gebruikt om de open poorten weer te geven.
We kunnen het volgende commando uitvoeren:
$ lsof -i
Om de open poorten van een bepaald protocol (UDP, TCP, enz.) te verkrijgen, specificeert u dit na gebruik van de '-i' flag, kunnen we het volgende commando uitvoeren:
$ lsof -i
Geef open poorten weer met nmap
Het nmap-commando kan worden gedefinieerd als een krachtig commando voor poort-/beveiligingsscans en netwerkverkenning. Het kan ook elke open poort binnen het systeem rapporteren.
We kunnen de volgende opdracht uitvoeren om de open TCP-poorten weer te geven.
$ sudo nmap -sT -p- localhost
Er zijn twee secties van deze opdracht die hierboven worden vermeld:
1. -sT: Het informeert de nmap-tool voor scannen TCP havens.
2. -p-: Het informeert de nmap-tool voor het scannen van elke 65535 havens. De nmap-tool zal scannen 1000 poorten standaard alleen als deze niet worden gebruikt.
Als we de open poorten van UDP moeten vermelden, kunnen we de volgende opdracht uitvoeren:
$ sudo nmap -sU -p- localhost
We kunnen ook de volgende opdracht uitvoeren om zowel de UDP- als de TCP-poorten op te halen:
$ sudo nmap -n -PN -sT -sU -p- localhost
Maak een lijst van open poorten met netcat
De netcat-tool kan worden omschreven als een opdrachtregelprogramma om gegevens te lezen en te schrijven via vele netwerkverbindingen op de UDP- en TCP-protocollen. Het kan ook worden gebruikt om open poorten weer te geven. Deze tool kan tests implementeren via een bepaalde poort of een verscheidenheid aan poorten.
De onderstaande netcat-opdracht wordt gebruikt voor het scannen van de poort 1-1000. Standaard zal het de scan via het TCP-protocol implementeren:
$ nc -z -v localhost 1-1000
Het kan ook worden uitgebreid naar de hele lijst met bepaalde poorten:
$ nc -z -v localhost 1-65535
Laten we deze vlaggen snel uitsplitsen.
1. van: Het informeert de netcat-opdracht alleen voor het scannen van open poorten, zonder gegevens over te dragen.
2. op: Het informeert de netcat-opdracht voor uitvoering in de uitgebreide modus.
selecteer als
We kunnen het resultaat filteren met behulp van grep voor een term 'geslaagd' voor het verkrijgen van alleen de open poorten via deze lijst.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Als we de scan via het UDP-protocol willen implementeren, moet het . Wij kunnen de '-in' vlag.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded