V krátkosti si popíšeme porty v rámci počítačovej siete a ďalej si povieme, ako môžeme uviesť každý otvorený port v Linuxe.
Port možno definovať ako logickú entitu z hľadiska počítačových sietí a softvéru.
Funguje ako komunikačný koncový bod na identifikáciu daného procesu alebo aplikácie na Operačný systém Linux . Prístav je a 16-bit (o až 65535) číslo, ktoré odlišuje jednu aplikáciu od ostatných na rôznych koncových systémoch.
Dva z najznámejších internetových prenosových protokolov, User Datagram Protocol (UDP) a Transmission Control Protocol (TCP) a iné protokoly používajú čísla portov pre mnohé relácie komunikácie (čísla cieľových a zdrojových portov v spojení s cieľovými a zdrojovými IP adresami).
Kombinácia protokolu, portu a adresy IP TCP/UDP sa nazýva a zásuvka. Je potrebné, aby všetky služby mali špecifickú zásuvku.
ins kľúč
Kategórie prístavu
Tieto porty sú rozdelené do troch kategórií pre jednoduché použitie, pretože rozmanitosť portov je veľká. Všetky kategórie sú označené ako rozsah hodnôt portu:
0-1023: Tieto porty sú dobre známy a volal 'systém' prístavov. Sú vyhradené pre procesy systému, ktoré poskytujú obrovské množstvo sieťových služieb. Proces by mal mať privilégiá superužívateľa na prepojenie s ľubovoľným 'známy' prístav.
1024-49151: Tieto porty sú 'Registrovaný' a zavolal na 'používateľ' prístavov. Sú určené cez IANA za jedinečné služby. Proces môže mať na požiadanie overenie. Na používanie týchto portov vo väčšine systémov nepotrebuje žiadne privilégium superužívateľa.
49152-65535: Tieto porty sú 'dynamický' a zavolal na 'Súkromné' prístavov. Nie je možné ich zaregistrovať IANA. Tieto typy portov sú otvorené na použitie pre prispôsobené a súkromné služby a môžu byť tiež pridelené ako dočasné porty (známe ako krátkodobý porty používané IP) automaticky.
Existuje mnoho spôsobov, ako skontrolovať otvorené porty v systéme Linux. V predvolenom nastavení sa port zatvorí, pokiaľ ho nepoužíva žiadna aplikácia. Port by mal byť priradený procesu alebo službe, ak je otvorená.
Otvorte zoznam portov
Je jednoduchšie zistiť, ktorý port sa používa, namiesto toho, ktorý port je otvorený. Preto nižšie uvedená časť poskytne metódy pre zoznam všetkých portov, ktoré sa v súčasnosti používajú.
V Linuxe existuje niekoľko nástrojov na túto úlohu. Väčšina z nich je k dispozícii vstavaný v linuxovej distribúcii.
Zistenie, ktorý port je momentálne otvorený, môže byť užitočné v mnohých scenároch. Je možné určiť vyhradený port pre zabezpečenú aplikáciu. Otvorený port môže byť silnou indikáciou narušenia v rámci siete.
Metódy sa používajú na Ubuntu 20.04 LTS ktoré sú uvedené nižšie.
Vypíšte otvorené porty a protokoly pomocou súboru /etc/services
Súbor, t.j. /etc/services obsahuje podrobnosti o spustených službách (aktuálne). Je to veľký súbor.
$cat /etc/services | less
Zoznam otvorených portov pomocou netstat
The netstat Nástroj možno opísať ako pomôcku na zobrazenie sieťových pripojení pre smerovacie tabuľky, TCP a niekoľko sieťových rozhraní. Tiež uľahčuje štatistiku sieťového protokolu. Pomocou nástroja netstat by sme mohli uviesť zoznam všetkých otvorených portov systému.
Môžeme vykonať nasledujúci príkaz:
$ netstat -atu
Poďme rýchlo vysvetliť rozdelenie každého príznaku, ktorý sme použili vo vyššie uvedenom príkaze:
1. a: Tento príznak informuje netstat na zobrazenie každého soketu.
2. t: Tento príznak informuje netstat o výpise portov TCP.
3. v: Tento príznak informuje netstat pre výpis portov UDP.
The netstat príkaz má ďalšiu variáciu, ktorá je uvedená nižšie:
$ netstat -lntu
Vo vyššie uvedenom príkaze sú nové dva príznaky, ktoré sú vysvetlené nasledovne:
1. l: Tento príznak informuje netstat pre tlač iba načúvacích soketov.
2. n: Tento príznak informuje netstat na zobrazenie čísla portu.
Môžeme použiť vlajku, napr. '-p' zobraziť PID procesu, ktorý používa ľubovoľný port.
$ netstat -lntup
Lokálne skontrolujte otvorené porty
Príkaz netstat je dostupný na každom operačnom systéme počítača na monitorovanie sieťových pripojení. Nasledujúci príkaz použije netstat na zobrazenie každého načúvacieho portu s protokolom TCP:
netstat -lt
Stručne definujme príznaky, ktoré sú prítomné vo vyššie uvedenom príkaze:
1. -l: Uvádza zoznam načúvacích portov.
zapnite java
2. -t: Špecifikuje protokol TCP.
Výsledok je dobre usporiadaný v stĺpcoch zobrazujúcich protokol, priateľské k človeku, odoslané a prijaté pakety, stav portu, vzdialené a lokálne IP adresy.
Ak upravíme protokol TCP pre protokol UDP, výstup bude zobrazovať iba otvorené porty. Výsledok sa zobrazí bez opisu stavu v dôsledku rozporu s protokolom TCP.
netstat -lu
Môžeme ignorovať popis protokolov a použiť iba voľbu --listen alebo -l na získanie podrobností o každom porte, ktorý voľne počúva protokol:
netstat --listen
Vyššie uvedená možnosť zobrazí podrobnosti o protokoloch soketov Unix, UDP a TCP.
Každý príklad vyššie zobrazuje, ako vytlačiť podrobnosti cez načúvacie porty bez autorizovaných pripojení. Nižšie uvedené príkazy zobrazujú, ako zobraziť porty počúvania a autorizované pripojenia.
netstat -vatn
Kde:
1. -v: Používa sa na výrečnosť.
2. -a: Zobrazuje aktívne pripojenia.
3. -t: Zobrazuje pripojenia tcp.
4. -n: Zobrazuje porty (číselná hodnota).
Povedzme, že rozpoznáme podozrivý proces v našom systéme a chceme skontrolovať súvisiace porty. Môžeme použiť príkaz lsof, ktorý sa používa na výpis otvorených súborov súvisiacich s procesmi.
lsof -i 4 -a -p
Kde,
1. -i: Uvádza zoznam súborov spolupracujúcich s internetom 6 možnosť je prítomná pre IPv6, a 4 voliteľné pokyny len pre tlač IPv4.
2. -a: Dáva pokyn, aby bol výsledok Dal si.
3. -p: Špecifikuje číslo PID procesu, ktoré chceme skontrolovať.
Zoznam otvorených portov s ss
The ss nástroj možno špecifikovať ako pomôcku na preskúmanie zásuvky. Použitie tohto nástroja je rovnaké ako netstat príkaz.
Na zobrazenie zoznamu otvorených portov môžeme spustiť nasledujúci príkaz:
$ ss -lntu
Vyššie uvedené príznaky sú rovnaké ako netstat príkaz. Funkcie, ktoré popisuje nástroj ss, sú tiež úplne rovnaké.
1. l: Tento príznak informuje ss pre zobrazenie počúvajúcich zásuviek.
2. n: Tento príznak informuje ss, aby sa nepokúšal uzatvárať názvy služieb.
3. t: Tento príznak informuje ss pre zobrazovacie sokety TCP.
4. v: Tento príznak informuje ss pre zobrazenie UDP soketov.
Zoznam otvorených portov pomocou lsof
Príkaz lsof možno použiť na výpis otvorených súborov. Môže sa však použiť aj na zobrazenie otvorených portov.
Môžeme vykonať nasledujúci príkaz:
$ lsof -i
Ak chcete získať otvorené porty konkrétneho protokolu (UDP, TCP atď.), zadajte ich po použití '-i' flag, môžeme vykonať nasledujúci príkaz:
$ lsof -i
Zoznam otvorených portov pomocou nmap
Príkaz nmap možno definovať ako silný na skenovanie portov/zabezpečenia a prieskum siete. Môže tiež hlásiť každý otvorený port v systéme.
Na výpis otvorených TCP portov môžeme vykonať nasledujúci príkaz.
$ sudo nmap -sT -p- localhost
Existujú dve časti tohto príkazu, ktorý je uvedený vyššie:
1. -sT: Informuje o tom nástroj nmap na skenovanie TCP prístavov.
2. -p-: Informuje nástroj nmap na skenovanie každý 65535 prístavov. Nástroj nmap bude skenovať 1000 porty iba štandardne, ak sa nepoužívajú.
Ak požadujeme vypísať zoznam otvorených portov UDP, môžeme vykonať nasledujúci príkaz:
$ sudo nmap -sU -p- localhost
Môžeme tiež vykonať nasledujúci príkaz na získanie portov UDP aj TCP:
$ sudo nmap -n -PN -sT -sU -p- localhost
Zoznam otvorených portov pomocou netcat
Nástroj netcat možno opísať ako pomôcku príkazového riadka na čítanie a zapisovanie údajov cez mnoho sieťových pripojení na protokoloch UDP a TCP. Môže sa tiež použiť na zobrazenie zoznamu otvorených portov. Tento nástroj môže implementovať testy na konkrétnom porte alebo rôznych portoch.
Nižšie uvedený príkaz netcat sa používa na skenovanie portu z 1-1000. V predvolenom nastavení implementuje kontrolu cez protokol TCP:
$ nc -z -v localhost 1-1000
Môže sa tiež rozšíriť na celý zoznam určitých portov:
$ nc -z -v localhost 1-65535
Poďme si rýchlo rozpísať tieto vlajky.
1. od: Informuje príkaz netcat iba na skenovanie otvorených portov bez prenosu akýchkoľvek údajov.
2. v: Informuje príkaz netcat na spustenie v podrobnom režime.
výpočet funkčného obdobia v exceli
Výsledok môžeme filtrovať pomocou grep na termín 'uspel' pre získanie iba otvorených portov cez tento zoznam.
$ nc -z -v 127.0.0.1 20-80 | grep succeeded
Ak chceme implementovať skenovanie cez protokol UDP, Môžeme zahrnúť '-in' vlajka.
$ nc -z -v -u localhost 0-65535 2>&1 | grep succeeded