LoginSignup
6
1

More than 1 year has passed since last update.

【備忘録】業務で実際使用したcurlコマンドメモ①(疎通確認)

Last updated at Posted at 2022-12-09

1.curlコマンドとは

任意のサーバーやWebサイトへhttpリクエストを送って、そのレスポンスをチェックすることができるコマンド
curlの後に-Xオプションを指定することでデータの送受信を指定することができる。
(-Xオプション無しだとデフォルトでGET(受信)となる。)

2.よく使用するオプション表

オプション 説明
-o,-O 取得したコンテンツをファイル出力する
-s コンテンツ取得時の進捗状況を非表示にする
-x プロキシサーバ経由でアクセスする
-X メソッド(GET,POST等)の指定(メソッド一覧)
-v コンテンツを取得した際の詳細なログを表示する
-I,--head コンテンツを取得した際のHTTPレスポンスヘッダの内容を表示する
-L リダイレクトがあったらリダイレクト先の情報を取る
-d(--data) POSTメソッドで使用。送信する文字列データを指定する
–data-urlencode 日本語文字列などをエンコードして送信する必要がある場合
-H リクエストヘッダを追加する。POSTのフォーマットがJSONの場合は -H "Content-Type: application/json" という指定をする

3.具体的な使い方(疎通確認)

curl -v [接続先IPアドレス]:[接続先ポート番号]
このコマンドは「コマンドを実行したサーバから、接続先サーバの指定したポートに向けて接続を試みている。
→接続成功の場合の結果

  *About to conenct() to [接続先IPアドレス] port [接続先ポート番号](#0)
  * Trying [接続先IPアドレス]...
  * Connected to [接続先IPアドレス] port [接続先ポート番号](#0)

 → 接続先サーバの接続先ポート番号が空いているということがわかる。

→接続失敗の場合の結果

  *About to conenct() to [接続先IPアドレス] port [接続先ポート番号](#0)
  * Trying [接続先IPアドレス]...
  * couldn't connect to host *Closing connection #0 curl:(7) could'nt connect to host

とか

  *About to conenct() to [接続先IPアドレス] port [接続先ポート番号](#0)
  * Trying [接続先IPアドレス]...
  * couldn't connect to host *Closing connection #0 curl:(7) Failed to connect to [接続先IPアドレス] port [接続先ポート番号]:接続を拒否されました

等の表示がされる。
 →この場合、接続先サーバの接続先ポートが空いていない可能性がある。

4. 3のコマンドを使用して実際あったこと

①Aサーバで以下のコマンドを実行し、失敗

curl -v BサーバのIPアドレス:9100

  *About to conenct() to BサーバのIPアドレス port 9100(#0)
  * Trying BサーバのIPアドレス...
  * couldn't connect to host *Closing connection #0 curl:(7) Failed to connect to BサーバのIPアドレス port 9100:接続を拒否されました

→Bサーバの9100ポートが空いていないことがわかる

②Bサーバで同様のコマンドを実行し、成功

curl -v AサーバのIPアドレス:9100

  *About to conenct() to AサーバのIPアドレス port 9100(#0)
  * Trying AサーバのIPアドレス...
  * Connected to AサーバのIPアドレス port 9100(#0)

→Aサーバの9100ポートが空いていることがわかる。

③Bサーバから自分自身の同様ポートを指定しコマンドを実行すると、失敗

curl -v localhost:9100

  *About to conenct() to BサーバのIPアドレス port 9100(#0)
  * Trying BサーバのIPアドレス...
  * couldn't connect to host *Closing connection #0 curl:(7) Failed to connect to BサーバのIPアドレス port 9100:接続を拒否されました

→Bサーバの9100ポートが空いていないことがわかる
ここで成功していた場合、A-Bサーバ間のfirewallではじかれている可能性がある。

双方のサーバで通信の疎通を確認したい場合、それぞれのサーバで接続したい先の疎通を試みた後に、自分自身のサーバでも通信を確認した方が切り分けができる。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1