Articles
Testaa liitäntä portin 22 tiedoston isäntiin käpristyskomennolla
On joulukuu 31, 2020 by adminId haluaa liittää seuraavan käyristyskomennon bash-komentosarjaan ja suorittaa sen isäntätiedostoa vastaan IP-osoitteiden osoitteet näyttävät sitten lähdön onnistuneena tai epäonnistuneena tulostiedostossa.
curl -v telnet 10.10.10.10:22
Onko tämä mahdollista? Vastaus
Bash-sisäänrakennetun järjestelmän käyttäminen avoimien porttien tarkistamiseen voi myös toimia:
#!/bin/bash host_file=/path/to/file.txt out_file=/path/to/out.txt while read -r ip; do if timeout 5 bash -c "cat < /dev/null >/dev/tcp/${ip}/22"; then echo -e "${ip}\tSuccess" else echo -e "${ip}\tFailure" fi >> "$out_file" done < "$host_file"
Kommentit
- En tiennyt ' tiennyt tätä. Onko se dokumentoitu missään? Toimiiko se myös IPv6: n kanssa?
- @Tomasz: Se ' dokumentoidaan bashin käyttöoppaassa 3.6 Uudelleenohjaukset . En ' ole varma, toimiiko se ipv6: n kanssa.
Vastaa
Minulla ei vielä ole tarvittavaa mainetta kommentoidakseni viestiä, jossa väitetään, että kihara ei ole ssh: lle tai telnetille. Se ei pidä paikkaansa. Curl käsittelee useita protokollia, mukaan lukien telnet, ssh, scp, sftp, ftps ja paljon muuta.
Tämä on oikea syntaksin käpristyminen:
curl -v telnet://127.0.0.1:22
vastaus
curl
on tarkoitettu HTTP / HTTPS / FTP: lle; ei SSH: lle tai Telnetille.
Käytän vain netcat:
testport=22 # 22 for ssh; 23 for telnet; 80 for HTTP; etc. while read ip; do if nc -w2 -z $ip $testport; then echo $ip up else echo $ip down fi >> testresults.txt done < hostlist.txt
Vastaa