Gondolkodik azon, hogyan ellenőrizheti a kapcsolatot két hálózati végpont között?
A rendszergazda egyik gyakori feladata a kapcsolat ellenőrzése a hálózati problémák elhárítása érdekében. Ez lehet bármi, például az alkalmazás nem tud csatlakozni a backend szolgáltatáshoz, nem tud adatokat lekérni külső URL-ről, ellenőrizni, hogy az adatfolyam meg van-e nyitva stb.
Bármi is legyen az, a következő segédprogramok/parancsok segíthetnek. CentOS 7.x-en vannak tesztelve, és nem látom okát, hogy más Linux disztribúción ne működnének.
Vizsgáljuk meg…
telnet
Az egyik széles körben használt parancs a szerverek közötti alapvető kapcsolódás tesztelésére, szerver egy másik hálózati eszköz IP-je. A parancs szintaxisa egyszerű.
telnet $destinationIP $PORT
Tegyük fel, hogy tesztelni szeretnénk, hogy tudunk-e csatlakozni a 10.0.0.1 IP-cím 8080-as portjához; akkor a parancs a következő lenne.
telnet 10.0.0.1 8080
Ha nincs probléma a csatlakozással, akkor a connected üzenetet kell látnunk.
Trying 10.0.0.1...Connected to 10.0.0.1.Escape character is '^]'.
Figyelem: ha a telnet végrehajtása közben nem talált parancsot kap, akkor telepítenie kell a telnetet, ahogy itt elmagyaráztam.
A legtöbb esetben a telnetnek segítenie kell. Ha azonban más lehetőségre van szüksége, akkor itt van néhány telnet alternatíva.
ncat vagy nc
Az ncat (más néven nc) egy hatékony hálózati segédprogram, amely számos funkcióval rendelkezik, mint például kapcsolat kötése és elfogadása, parancs végrehajtása távolról, adatok írása és olvasása stb. Működik IPv4-en és IPv6-on egyaránt.
Egy egyszerű teszt elvégzéséhez, hogy ellenőrizze, hogy a port nyitva van-e vagy sem, a következőket hajtja végre.
nc -vz $HOSTNAME $PORT
Mutatunk egy példát a 443-as port tesztelésére a geekflare.com-on.
# nc -vz geekflare.com 443Ncat: Version 7.50 ( https://nmap.org/ncat )Ncat: Connected to 104.25.133.107:443.Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.#
Amint említettük, a nc
használatával a kapcsolatot egy adott porton való figyeléshez is kötheti. Ez akkor lehet hasznos, ha nem futnak tényleges szolgáltatások, de biztosítani szeretné a kapcsolat meglétét.
A porton való figyelés elindításához:
nc -l $PORTNUMBER
Ez a portot egy adott számhoz köti.
Ha az ncat nincs telepítve, akkor a CentOS/RHEL szervereken a yum install nc
segítségével végezheti el.
wget
A wget egy hasznos parancs a HTTP, HTTPS és FTP letöltésére/tesztelésére. Ha webmérnökként dolgozik, vagy gyakran foglalkozik webhez kapcsolódó problémával, akkor a wget
a barátja. A wget használatával történő tesztelés egyszerű.
wget $URL
Itt egy példa a tools.geekflare.com tesztelésére
# wget tools.geekflare.com--2019-05-09 20:40:01-- http://tools.geekflare.com/Resolving tools.geekflare.com (tools.geekflare.com)... 104.25.134.107, 104.25.133.107, 2606:4700:20::6819:866b, ...Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:80... connected.HTTP request sent, awaiting response... 301 Moved PermanentlyLocation: https://tools.geekflare.com/ --2019-05-09 20:40:01-- https://tools.geekflare.com/Connecting to tools.geekflare.com (tools.geekflare.com)|104.25.134.107|:443... connected.HTTP request sent, awaiting response... 200 OKLength: unspecified Saving to: 'index.html.2' 15,139 --.-K/s in 0.001s 2019-05-09 20:40:02 (12.8 MB/s) - 'index.html.2' saved #
Ha azt mutatja, hogy csatlakozik, akkor nincs csatlakozási probléma.
curl
A curl egy többcélú eszköz.
Tudja, hogy a curl segítségével telnetelni tud egy portra?
Hát, most már tudja.
curl -v telnet://$IP:$PORT
A következő egy működő példa.
# curl -v telnet://chandan.io:443* About to connect() to chandan.io port 443 (#0)* Trying 104.31.68.106...* Connected to chandan.io (104.31.68.106) port 443 (#0)
És, ha nincs figyelő port vagy tűzfal probléma, akkor látni fogja, hogy próbálkozik…
# curl -v telnet://chandan.io:4434* About to connect() to chandan.io port 4434 (#0)* Trying 104.31.68.106...
A curl-t használhatja az adatok letöltésére is. Többféle protokollt támogat – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER stb.
nmap
Egy népszerű eszköz több száz funkcióval. Gyakran ezt tekintik biztonsági eszköznek. nmap lehetővé teszi egyetlen IP/port vagy tartomány tesztelését.
Egyetlen port tesztelése
nmap -p $PORT $IP
Egy példa a 443-as port tesztelésére a siterelic.com-on
# nmap -p 443 siterelic.comStarting Nmap 7.70 ( https://nmap.org ) at 2019-05-10 06:55 UTCNmap scan report for siterelic.com (104.27.174.50)Host is up (0.0079s latency).Other addresses for siterelic.com (not scanned): 104.27.175.50 2606:4700:30::681b:ae32 2606:4700:30::681b:af32PORT STATE SERVICE443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 0.13 seconds#
Nézze meg az állapot oszlopot. Ha azt látod, hogy nyitott, az azt jelenti, hogy a kapcsolat rendben van. Ha pedig az állapot szűrt, az azt jelenti, hogy nincs kapcsolat.
Következtetés
A telnet fokozatosan megszűnik a legújabb Linux verzióban. Köszönjük a fenti telnet alternatívát.
Ha új vagy a Linuxban és tanulni szeretnél, akkor nézd meg ezt az Udemy tanfolyamot.