Articles
Test tilkobling til verter i fil på port 22 med curl-kommando
On desember 31, 2020 by adminId liker å plugge følgende «curl» -kommando i et bash-skript og kjøre det mot et vertsfil av ip-adresser viser deretter utdata som suksess eller fiasko i en utdatafil.
curl -v telnet 10.10.10.10:22
Er dette mulig?
Svar
Å bruke bash innebygd for å se etter åpne porter kan også fungere:
#!/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"
Kommentarer
- Jeg visste ikke ' denne. Er det dokumentert hvor som helst? Fungerer det også med IPv6?
- @Tomasz: Det ' er dokumentert i bash-referansehåndboken 3.6 Viderekoblinger . Jeg ' er usikker på om det fungerer med ipv6.
Svar
Jeg har ennå ikke det rykte som er nødvendig for å kommentere innlegget som hevder at krøll ikke er for ssh eller telnet. Det er ikke nøyaktig. Curl håndterer en rekke protokoller, inkludert telnet, ssh, scp, sftp, ftps og mer.
Dette er riktig syntaks for krøller:
curl -v telnet://127.0.0.1:22
Svar
curl
er for HTTP / HTTPS / FTP; ikke for SSH eller Telnet.
Jeg bruker bare 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
Legg igjen en kommentar