3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

タイトルの通りですが、外部連携先のサーバやDBに疎通確認するとき、
皆さんはどのコマンドを使っていますか?

個人的にはncコマンドを推したい

疎通確認には nc(Netcat) コマンドが便利です。
以下のように使います。

$ nc -zv <ホスト名 または IPアドレス> <ポート番号>
$ nc -zv google.com

下記のように、Connection to ... succeeded! と表示されれば疎通成功です。

user@localhost:~$ nc -zv google.com 80
Connection to google.com (142.250.207.46) 80 port [tcp/http] succeeded!
user@localhost:~$

とりあえずpingを使うのは?

とりあえずpingを使ってみる。っていうのはあるあるだと思います。
ただこれ、ICMPプロトコルを使うので、相手側でICMPが許可されてないと普通に落ちます。
(セキュリティグループとかファイアウォールとかで、結構閉じられてたりします。)

curlpsqlでいきなり試すのはちょっと…

最終的にはcurlでAPI叩いたり、psqlでDBにちゃんとアクセスできることを確認するのがベスト。
ただ、その前に、「もそもネットワークレベルで接続できているのか?」ってのを確認したいところである。
アプリ層で確認すると、繋がらなかった時の切り分けが面倒になりがち。
ncコマンドでレイヤーを分けて確認したいですね。

昔ながらのtelnetはどうなの?

定番ではあるが、セキュリティ的に非推奨となっていることが多い。
個人的にも、あまり使いたくない派です。

ncは地味だけど、やっぱり便利!

  • TCPポート開いてるかどうかを素直に教えてくれる
  • UDPにも対応してる(地味に強い)
    とはいえ、AmazonLinuxなんかではデフォルトでインストールされていないので、
    以下コマンドでインストールしておきましょう

$ dnf install nmap-ncat

3
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?