Articles
curlコマンド
On 12月 31, 2020 by adminIdを使用して、ポート22のファイル内のホストへの接続をテストします。次の「curl」コマンドをbashスクリプトにプラグインして、ホストファイルに対して実行します。次に、ipアドレスの数が出力ファイルに成功または失敗として出力を表示します。
curl -v telnet 10.10.10.10:22
これは可能ですか?
回答
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"
コメント
- 私は'これを知りませんでした。それはどこかに文書化されていますか? IPv6でも動作しますか?
- @Tomasz:bashリファレンスマニュアル 3.6に記載されている'リダイレクト。 ' ipv6で動作するかどうかわかりません。
回答
curlはsshやtelnetではないと主張する投稿にコメントするのに必要な評判はまだありません。それは正確ではありません。 Curlは、telnet、ssh、scp、sftp、ftpsなどの多数のプロトコルを処理します。
これはcurlの正しい構文です:
curl -v telnet://127.0.0.1:22
回答
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
コメントを残す