Mietitkö, miten kahden verkon päätepisteen välinen yhteys voidaan tarkistaa?
Yksi järjestelmänvalvojan tavallisista tehtävistä on yhteyden tarkistaminen verkko-ongelmien vianmääritystä varten. Se voi olla mitä tahansa, kuten sovellus ei voi muodostaa yhteyttä taustapalveluun, ei pysty hakemaan tietoja ulkoisesta URL-osoitteesta, tarkistaa, onko virtaus avattu jne.
Mitä tahansa se voikin olla, seuraavat apuohjelmat/käskyt auttavat sinua. Ne on testattu CentOS 7.x:ssä, enkä näe mitään syytä, etteivätkö ne toimisi muissakin Linux-distroissa.
Tutkitaanpa…
telnet
Yksi laajalti käytetyistä komennoista, joilla voidaan testata olennainen yhteys palvelimien välillä, palvelimen toisen verkkolaitteen IP:hen. Komennon syntaksi on helppo.
telnet $destinationIP $PORT
Esitettäkö, että haluat testata, voitko muodostaa yhteyden porttiin 8080 IP-osoitteessa 10.0.0.1; silloin komento olisi.
telnet 10.0.0.1 8080
Jos yhteyden muodostamisessa ei ole ongelmaa, sinun pitäisi nähdä yhdistetty-viesti.
Trying 10.0.0.1...Connected to 10.0.0.1.Escape character is '^]'.
Huomautus: jos komentoa ei löydy telnetiä suoritettaessa, sinun on asennettava telnet, kuten selitin täällä.
Useimmissa skenaarioissa telnetin pitäisi auttaa. Jos kuitenkin tarvitset jonkin muun vaihtoehdon, tässä on joitakin telnet-vaihtoehtoja.
ncat tai nc
Ncat (a.k.a. nc) on tehokas verkkoapuohjelma, jossa on monia ominaisuuksia, kuten yhteyden sitominen ja hyväksyminen, komennon suorittaminen etänä, tietojen kirjoittaminen ja lukeminen jne. Se toimii sekä IPv4:llä että IPv6:lla.
Tehdäksesi yksinkertaisen testin tarkistaaksesi, onko portti avattu vai ei, suoritat seuraavan.
nc -vz $HOSTNAME $PORT
Testataan esimerkiksi geekflare.comin 443-portti.
# 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.#
Kuten mainittiin, voit myös käyttää nc
:tä sitoaksesi yhteyden kuuntelemaan tiettyä porttia. Tämä voi olla kätevää, kun varsinaisia palveluita ei ole käynnissä, mutta haluat varmistaa, että yhteys on olemassa.
Aloittaaksesi kuuntelun portissa:
nc -l $PORTNUMBER
Se sitoo portin annettuun numeroon.
Jos ncatia ei ole asennettu, saat sen tehtyä yum install nc
:llä CentOS/RHEL-palvelimilla.
wget
wget on hyödyllinen komento HTTP:n, HTTPS:n ja FTP:n lataamiseen/testaamiseen. Jos työskentelet web-insinöörinä tai olet usein tekemisissä webiin liittyvien ongelmien kanssa, wget
on ystäväsi. Testaus wgetin avulla on suoraviivaista.
wget $URL
Tässä on esimerkki testauksesta tools.geekflare.com
# 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 #
Jos se näyttää connected tarkoittaa, että yhteysongelmaa ei ole.
curl
Curl on monikäyttöinen työkalu.
Tiesitkö, että voit telnetöidä portin curlilla?
Noh, nyt tiedät.
curl -v telnet://$IP:$PORT
Seuraavassa on toimiva esimerkki.
# 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)
Ja kun ei ole kuuntelevaa porttia tai palomuuriongelmaa, niin näet yrittämisen…
# curl -v telnet://chandan.io:4434* About to connect() to chandan.io port 4434 (#0)* Trying 104.31.68.106...
Voit käyttää curl:ia myös tietojen lataamiseen. Se tukee useita protokollia – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER jne.
nmap
Suosittu työkalu, jossa on satoja ominaisuuksia. Usein tätä pidetään tietoturvatyökaluna. nmapin avulla voit testata yksittäisen IP:n/portin tai alueen.
Testata yksittäinen portti
nmap -p $PORT $IP
Esimerkki portin 443 testaamisesta osoitteessa siterelic.com
# 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#
Katso state-saraketta. Jos näet open tarkoittaa, että yhteys on ok. Ja jos tila on suodatettu se tarkoittaa, että yhteyttä ei ole.
Johtopäätös
telnet poistuu vähitellen uusimmassa Linux-versiossa. Kiitos yllä olevasta telnet-vaihtoehdosta.
Jos olet uusi Linuxissa ja haluat oppia niin tutustu tähän Udemyn kurssiin.