Linux

疎通確認を行う際のコマンド(Linux編)

はじめに

疎通確認を行う際に便利なコマンドをまとめました。

コマンド

上記4つはUbuntu 20.04 LTSには標準でインストールされている。

ホスト名、ポートは読み替えて利用してください。

ping

言わずと知れた Ping コマンドです。

$ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=55 time=10.6 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=55 time=8.60 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=55 time=10.7 ms
^C
--- 1.1.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 8.596/9.963/10.694/0.967 ms

curl

curlではWebサーバーやREST API(GET、POST)に向けて確認することが多いですね。また、HEADの確認も行えます。

$ curl 1.1.1.1
<html>
<head><title>301 Moved Permanently</title></head>
<body>
<center><h1>301 Moved Permanently</h1></center>
<hr><center>cloudflare</center>
</body>
</html>

$ curl -I 1.1.1.1
HTTP/1.1 301 Moved Permanently
Server: cloudflare
Date: Fri, 13 May 2022 09:19:57 GMT
Content-Type: text/html
Content-Length: 167
Connection: keep-alive
Location: https://1.1.1.1/
CF-RAY: 70aa50bf9fdb80b7-NRT

nc (netcat)

TCPとUDPで確認できるのが特徴でポートスキャンも行える。

TCP

nc 1.1.1.1 80
HEAD / HTTP1.1
HTTP/1.1 400 Bad Request
Server: cloudflare
Date: Fri, 13 May 2022 09:23:24 GMT
Content-Type: text/html
Content-Length: 155
Connection: close
CF-RAY: -

UDP

受信側

$ sudo nc -ul 123

送信側

$ nc -u localhost 123
1111

「1111」は入力

受信側で「1111」を受信できればOK

ポートスキャン

nc -vz 1.1.1.1 1-65535

/dev/tcp , /dev/udp

直接コネクションを張ります。

TCP

$ echo > /dev/tcp/1.1.1.1/80 && echo GOOD || echo "Not Good"

UDP

$ echo > /dev/udp/1.1.1.1/123 && echo GOOD || echo "Not Good"

nmap

ポートスキャンツールでTCP、UDPに対応する。

$ sudo apt install nmap

TCP

$ nmap 1.1.1.1
Starting Nmap 7.80 ( https://nmap.org ) at 2022-05-13 18:40 JST
Nmap scan report for one.one.one.one (1.1.1.1)
Host is up (0.011s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 4.77 seconds

UDP

$ sudo nmap -sU ntp.nict.jp -p 123
Starting Nmap 7.80 ( https://nmap.org ) at 2022-05-13 18:47 JST
Nmap scan report for ntp.nict.jp (133.243.238.164)
Host is up (0.011s latency).
Other addresses for ntp.nict.jp (not scanned): 61.205.120.130 133.243.238.163 133.243.238.244 133.243.238.243 2001:df0:232:eea0::fff4 2001:ce8:78::2 2001:df0:232:eea0::fff3
rDNS record for 133.243.238.164: ntp-b3.nict.go.jp

PORT STATE SERVICE
123/udp open ntp

どれ打っても基本はOpenになります。

tcpping

下記を参考

[Tips] tcppingをインストールする。クラウドでは使うケースが意外と多い。 - 技術的な何か。
[Tips] tcppingをインストールする。クラウドでは使うケースが意外と多い。 - 技術的な何か。

Tips クラウドではtcppingを利用するケースが多いです。 なにせ、Pingが通らないケースが多いためです。セキュリティグループとかに穴をあけないとだめですもんね。構成変更が必要になるのでできま

level69.net

まとめ

他にも、様々なツールがありますが環境を変えずに疎通確認を行う手法としてはcurlが最善な気がします。

-Linux