Jako správce systému Linux je velmi důležité přenášet data ze serveru na server s dobrým ovládáním protokolů TCP (Transmission Control Protocol). Z hlediska TCP dostáváme představu o dvou typech portů:Open port a Close port. Protokol řízení přenosu v síti, všechny porty, které přijaly přenos dat, se nazývají otevřený port a na druhé straně porty, kde jsou datové pakety filtrovány nebo které nelze dosáhnout, se nazývají blízký port. Ti, kteří pracovali se správou serverů Ubuntu, musí vědět, jaká katastrofa spočívá v tom, že sítě neudržují správně otevřené porty. Znalost mezi otevřeným a zavřeným portem je spíše naopak. V síťovém systému Linux je důležité porozumět konceptu otevřených portů a zkontrolovat dostupný počet otevřených portů.
Kontrola otevřených portů v systému Linux
Síťové porty jsou obvykle přiděleny hned za IP adresou. Nechte síťovou adresu následovanou 16bitovým soketem, celkový počet dostupných portů bude 2^16=65536. V počítačových sítích všichni známe koncept a typy síťových adres, jako je fyzická adresa a místní adresa.
Každá síťová adresa má koncový bod, který definuje typ práce této síťové adresy. Dovolte, chceme poslat e-mail z našeho účtu Gmail; v tomto případě Gmail používá systém SMTP (Simple Mail Transfer Protocol). Víme, že SSL (Secure Sockets Layer) je číslo soketu používané pro účely identifikace a zabezpečení.
Jedním slovem se tato zásuvka nazývá port. Pro Gmail je výchozí port SSL nebo port 465. Poskytovatel internetových služeb (ISP) často umožňuje svým uživatelům stahovat filmy her z jejich serveru File Transfer Protocol (FTP). FTP servery jsou většinou vytvářeny pomocí serverových nástrojů Apache Ubuntu, kde jsou porty udržovány otevřené a přidružené k IP adresám. V celém příspěvku pokrýváme způsob, jak kontrolovat otevřené porty v Linuxu i v Ubuntu.
Rozsah portů | Kategorie |
---|---|
0 – 1023 | Systémové porty |
1024 – 49151 | Uživatelské porty |
49152 – 65535 | Dynamické porty |
1. Kontrola otevřených portů pomocí nmap
Příkaz v Linuxu
V Linuxu se Network Mapper nebo příkaz nmap používá pro kontrolu stavu systému, použitých zařízení, kontrolu aktuálních síťových služeb a dostupnosti soketu nebo portů. Pokud váš systém Linux nemá nmap
nainstalován, pro Ubuntu a další verze Linuxu můžete nainstalovat nmap
pomocí následujících příkazů terminálu. Můžete také zkontrolovat verzi vašeho síťového mapovače.
$ sudo apt-get install nmap $ nmap --version
Za nmap
je nainstalován, hned v prvním kroku můžeme zkontrolovat porty naší adresy localhost. Většinu času je adresa IP localhost přiřazena 127.0.0.1
$ sudo nmap -sT -O localhost
Porty protokolu TCP (Transmission Control Protocol) můžeme také najít pomocí nmap
příkaz. namp
Příkaz se také používá k nalezení dostupných portů pro konkrétní IP adresu. Chceme zkontrolovat porty pro IP 192.168.0.1
$ sudo nmap 192.168.0.1 $ nmap -open 192.168.0.1 $ nmap google.com
2. Hledání otevřených portů pomocí netcat
Příkaz v Ubuntu
Dříve jsme viděli, jak zkontrolovat dostupné porty pomocí Transmission Control Protocol. Nyní uvidíme, jak zkontrolovat dostupný počet portů pomocí protokolu UDP (User Datagram Protocol).
Na serveru Ubuntu se tento druh síťových operací provádí pomocí nc
nebo netcat
příkaz. A musím říct, že v Linuxu netcat
je nejmocnější zbraní pro kontrolu síťových zásuvek. Chcete-li vytvořit připojení pod protokolem TCP, kde je port přiřazen jako 2389.
Nyní můžete spustit následující příkaz terminálu a vytvořit připojení TCP. Nebo, pokud jste klient, máte přístup k localhost; můžete také spustit druhý příkaz terminálu.
$ nc -l 2389 $ nc localhost 2389
3. Hledání otevřených portů pomocí netstat
Příkaz v Linuxu
Pokud chcete zkontrolovat pouze porty protokolu UDP User Datagram Protocol, můžete také použít statistiku sítě nebo netstat
příkaz. netstat
příkaz může zobrazit data o příjmu i odesílání konce přenosu. Nakonec tu máme jeden příkaz, který dokáže najít otevřené porty v Linuxu pomocí netstat
.
$ netstat --listen $ netstat -lntu $ netstat -vaun
Příkaz NGINX se také používá k monitorování síťového systému vašeho Linuxu. Zde vám představuji nignx
příkaz, který dokáže zkontrolovat otevřené porty vašeho systému Linux.
$ sudo netstat -lntup | grep "nginx"
Pokud najdete nignx
nepracuje správně, zkuste znovu načíst nignx.
$ sudo nginx -t $ sudo nginx -s reload
Chcete-li najít všechny otevřené porty ve vašem systému Linux, můžete použít tento příkaz terminálu.
$ netstat -antplF
Pro zjištění konkrétního stavu portu v Linuxu existuje netstat
příkaz, který dokáže zobrazit všechny naslouchající porty. Náš konkrétní port je 80.
$ sudo netstat -lntup | grep ":80"
4. Monitorujte poslechové porty pomocí lsof
Příkaz v Ubuntu
V Linuxu se seznam otevřených souborů nebo zkráceně příkaz lsof používá k zobrazení seznamu souborů nebo adresářů, které jsou otevřené. Ale můžeme také použít lsof
příkazy pro některé jednoduché síťové úlohy. Seznam všech otevřených portů najdeme pomocí lsof
příkazy. Musím zmínit, že v Linuxu je otevřený port také aliasován naslouchajícím portem.
Chceme zkontrolovat připojené cizí adresy a naslouchající porty pomocí lsof
příkaz. Zde se naslouchání nebo naslouchání označuje jako otevřené porty. V terminálu můžeme použít přesný datový textový grabber nebo Global regular expression print nebo zkráceně grep
příkaz.
$ lsof -i $ sudo lsof -i -P -n | grep LISTEN $ lsof -i TCP| fgrep LISTEN
Pokud chcete zkontrolovat stav konkrétního portu podle IP adresy sítě, můžete použít tento terminálový příkaz ve vašem systému Linux. Chceme zkontrolovat stav portu 80.
$ sudo lsof -i :80
5. Nalezení zavedených portů pomocí ss
Příkaz v Linuxu
V Linuxu ss
příkaz se nazývá socket statistics
. Zde jsou zásuvky přiřazeny jako porty. Takže pomocí ss
můžeme určit otevřené porty v systému Linux. Pokud nemáte ss
nainstalovaný ve vašem Linuxu, můžete rychle nainstalovat ss
ve vašem počítači z apt
příkaz uvedený níže. Poté spusťte sockstat
příkaz ve vašem terminálu. Ve výstupu najdete podrobnosti o zásuvce/portu.
$ sudo apt install sockstat $ sockstat $ netstat -an |grep LISTEN
Pro více informativní účely kontroly otevřených portů existuje lntu
příkaz v Linuxu. lntu
příkaz hledá především podrobnosti o otevřených portech TCP, otevřených portech UDP, názvu softwaru a použitém čísle portu.
$ ss -lntu
Poslední myšlenky
U sítí lze otevřené porty zkontrolovat pomocí C++ nebo PHP, ale nejlepší způsob, jak zkontrolovat všechny otevřené nebo naslouchající porty, je použít příkazové řádky Linuxu. Díky nim bude váš čas efektivní. V tomto příspěvku jsme se pokusili ukázat některé dynamické metody kontroly otevřených portů systému Linux. V některých distribucích Linuxu, jako je Ubuntu a Red Hat, je kontrola otevřených a zavřených portů z bezpečnostních důvodů brány firewall nevyhnutelná. Porty SMTP, NTP (Network Time Protocol), HTTP porty a UDP porty můžete najít pomocí příkazů popsaných výše.
Celý příspěvek byl o tom, jak jsou porty přiřazeny k IP adresám a proč můžete zkontrolovat otevřené nebo uzavřené porty ve vašem systému Linux. Pokud považujete tento příspěvek za užitečný, dejte nám prosím vědět, co se vám v tomto příspěvku líbilo. A k tomuto příspěvku můžete také napsat komentář. Neváhejte a sdílejte tento příspěvek mezi své linuxové nadšence.