web-dev-qa-db-ja.com

curlコマンドを使用して、ポート22のファイル内のホストへの接続をテストする

次の「curl」コマンドをbashスクリプトにプラグインして、IPアドレスのホストファイルに対して実行し、出力を成功または失敗として出力ファイルに表示します。

curl -v telnet 10.10.10.10:22

これは可能ですか?

3
mylan

Bashビルトインを使用して開いているポートを確認することもできます。

#!/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"
3
jesse_b

curlはHTTP/HTTPS/FTP用です。 SSHやTelnet用ではありません。

私は単に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
2
DopeGhoti

これはcurlの正しい構文です。

curl -v telnet://127.0.0.1:22
2
Chris Brewer