Spekulerer på, hvordan man kontrollerer forbindelsen mellem to netværksendepunkter?
En af de almindelige opgaver for sysadmin er at kontrollere forbindelsen til fejlfinding af netværksproblemer. Det kan være noget, som applikation ikke kan oprette forbindelse til backend-tjeneste, ikke kan hente data fra ekstern URL, verificere om flowet er åbnet osv.
Uanset hvad det måtte være, vil følgende hjælpeprogrammer / kommandoer hjælpe dig. De er testet på CentOS 7.x, og jeg ser ikke nogen grund til ikke at arbejde på en anden Linux-distro.
Lad os udforske …
telnet
En af de udbredte kommandoer til at teste vigtig forbindelse mellem servere, server til en anden netværksenheds IP. Syntaxen til kommandoen er let.
telnet $ destinationIP $ PORT
Lad os sige, at du vil teste, om du kan oprette forbindelse til port 8080 på 10.0.0.1 IP-adresse; så ville kommandoen være.
telnet 10.0.0.1 8080
Hvis der ikke er noget problem med at oprette forbindelse, skal du se den tilsluttede meddelelse.
Forsøger 10.0.0.1…
Tilsluttet 10.0.0.1.
Escape-karakter er ‘^]’.
Bemærk: Hvis du ikke finder kommandoen, mens du udfører telnet, skal du installere telnet, som jeg forklarede her.
I de fleste af scenarierne skal telnet hjælpe. Men hvis du har brug for en anden mulighed, er her nogle telnet-alternativer.
ncat eller nc
Ncat (a.k.a. nc) er et kraftfuldt netværksværktøj med mange funktioner som at binde og acceptere en forbindelse, udføre kommando eksternt, skrive og læse data osv. Det fungerer på IPv4 og IPv6, begge.
For at udføre en simpel test for at kontrollere, om porten er åbnet eller ej, udfører du følgende.
nc -vz $ HOSTNAME $ PORT
Lad os tage et eksempel på test af 443-port på geekflare.com.
[[Email protected] ~] # nc -vz geekflare.com 443
Ncat: version 7.50 (https://nmap.org/ncat)
Ncat: Tilsluttet 104.25.133.107:443.
Ncat: 0 byte sendt, 0 byte modtaget på 0,02 sekunder.
[[Email protected] ~] #
Som nævnt kan du også bruge nc til at binde forbindelsen til at lytte på en bestemt port. Dette kan være praktisk, når du ikke har faktiske tjenester, men vil sikre, at der findes forbindelse.
Sådan begynder du at lytte på en port:
nc -l $ PORTNUMBER
Det binder porten på et givet nummer.
Hvis ncat ikke er installeret, kan du få det gjort med yum install nc på CentOS / RHEL-servere.
wget
wget er en nyttig kommando til at downloade / teste HTTP, HTTPS og FTP. Hvis du arbejder som webingeniør eller ofte behandler webrelateret problem, er wget din ven. Testning ved hjælp af wget er ligetil.
wget $ URL
Her er et eksempel på test af tools.geekflare.com
[[Email protected] ~] # wget tools.geekflare.com
–2019-05-09 20: 40: 01– http://tools.geekflare.com/
Løsning af tools.geekflare.com (tools.geekflare.com) … 104.25.134.107, 104.25.133.107, 2606: 4700: 20 :: 6819: 866b, …
Opretter forbindelse til tools.geekflare.com (tools.geekflare.com) | 104.25.134.107 |: 80 … tilsluttet.
HTTP-anmodning sendt, afventer svar … 301 Flyttet permanent
Placering: https://tools.geekflare.com/ [følgende]
–2019-05-09 20: 40: 01– https://tools.geekflare.com/
Opretter forbindelse til tools.geekflare.com (tools.geekflare.com) | 104.25.134.107 |: 443 … tilsluttet.
HTTP-anmodning sendt, afventer svar … 200 OK
Længde: uspecificeret [tekst / html]
Gemmer til: ‘index.html.2’
[ <=> ] 15,139 –.- K / s i 0,001 sek
2019-05-09 20:40:02 (12,8 MB / s) – ‘indeks.html.2’ gemt [15139]
[[Email protected] ~] #
Hvis det viser tilsluttede midler, er der ingen problemer med forbindelse.
krølle
En krølling er et universalværktøj.
Ved du, at du kan telnet til en port ved hjælp af krøller?
Nu ved du det.
krølle -v telnet: // $ IP: $ PORT
Følgende er et fungerende eksempel.
[[Email protected] ~] # krøllet -v telnet: //chandan.io: 443
* Om at oprette forbindelse () til chandan.io-port 443 (# 0)
* Forsøger 104.31.68.106…
* Tilsluttet chandan.io (104.31.68.106) port 443 (# 0)
Og når der ikke er noget lytteport eller firewall-problem, vil du se forsøget …
[[Email protected] ~] # krøllet -v telnet: //chandan.io: 4434
* Om at oprette forbindelse () til chandan.io port 4434 (# 0)
* Forsøger 104.31.68.106…
Du kan også bruge krøller til at downloade dataene. Det understøtter flere protokoller – HTTP, HTTPS, FTP, IMAP, LDAP, POP3, SCP, SFTP, GOPHER osv..
Nmap
Et populært værktøj med hundreder af funktioner. Ofte betragtes dette som et sikkerhedsværktøj. Nmap lader dig teste en enkelt IP / port eller i området.
At teste en enkelt port
nmap -p $ PORT $ IP
Et eksempel på test af port 443 på siterelic.com
[[Email protected] ~] # nmap -p 443 siterelic.com
Start af Nmap 7.70 (https://nmap.org) kl. 05-05-2019 06:55 UTC
Nmap-scanningsrapport til siterelic.com (104.27.174.50)
Værten er op (0.0079s forsinkelse).
Andre adresser til siterelic.com (ikke scannet): 104.27.175.50 2606: 4700: 30 :: 681b: ae32 2606: 4700: 30 :: 681b: af32
PORT STATS SERVICE
443 / tcp åben https
Nmap udført: 1 IP-adresse (1 vært op) scannet på 0,13 sekunder
[[Email protected] ~] #
Se på tilstandskolonne. Hvis du ser åben, betyder, at forbindelsen er ok. Og hvis staten filtreres, betyder det, at forbindelse ikke findes.
Konklusion
telnet udfases i den nyeste Linux-version. Takket være ovennævnte telnet-alternativ.
Hvis du er ny på Linux og ønsker at lære, så tjek dette Udemy kursus.