22
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ネットワーク状況を確認するコマンド色々

Last updated at Posted at 2019-04-08

ネットワークまわりのコマンドについて概要と利用用途をざっくりまとめてみました。

ip/ifconfig

ipアドレスを確認するコマンドです。
ip a(ip address show)でネットワークインターフェースに割り当てているIPアドレスやネットワークアドレスを確認できます。
他にも、ipアドレスの追加/削除、ip rでルーティングテーブルの表示等もできます。

~ ❯❯❯ ip a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	inet 127.0.0.1/8 lo0
	inet6 ::1/128
	inet6 fe80::1/64 scopeid 0x1
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether c4:b3:01:c5:81:49
	inet6 fe80::1475:3c2e:fdc6:47cc/64 secured scopeid 0x7
	inet xxx.xxx.0.11/24 brd xxx.xxx.0.255 en0
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
	ether 46:a5:35:8c:7a:39
	inet6 fe80::44a5:35ff:fe8c:7a39/64 scopeid 0xa
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
	inet6 fe80::e0ce:e054:75f4:bfd8/64 scopeid 0xb

hostname

ホスト名を表確認するコマンドです。

~ ❯❯❯ hostname
kamihork.local

nslookup

DNSによる名前解決を行うコマンドです。
DNS問合せを行い、FQDN(Fully Qualified Domain Name)形式等のドメイン名が名前解決が行われているか確認する時に利用します。
Address:220.152.38.201#53から、コマンドを叩いたクライアントから名前解決を行ったDNSのIPアドレスととポート番号がわかります。
canonical nameから、CNAMEレコード(www.homes.co.jp)は対応させたいドメイン名と対応するAレコード(www2.homes.co.jp)を記述することで複数IPアドレス(13.114.214.201, 54.92.33.209)を定義していることを示しています。

なお、Non-authoritative answerは「権威サーバーでないサーバーが回答した」という意味で、キャッシュDNSサーバーが結果を返却したということを示しています。

~ ❯❯❯ nslookup www.homes.co.jp
Server:		220.152.38.201
Address:	220.152.38.201#53

Non-authoritative answer:
www.homes.co.jp	canonical name = www2.homes.co.jp.
Name:	www2.homes.co.jp
Address: 13.114.214.201
Name:	www2.homes.co.jp
Address: 54.92.33.209

dig

digを使うと、nslookupよりも詳細な情報を取得することができます。

~ ❯❯❯ dig www.homes.co.jp
; <<>> DiG 9.10.6 <<>> www.homes.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33617
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.homes.co.jp.		IN	A

;; ANSWER SECTION:
www.homes.co.jp.	14	IN	CNAME	www2.homes.co.jp.
www2.homes.co.jp.	14	IN	A	13.114.214.201
www2.homes.co.jp.	14	IN	A	54.92.33.209

;; Query time: 82 msec
;; SERVER: 220.152.38.201#53(220.152.38.201)
;; WHEN: Tue Apr 09 00:43:44 JST 2019
;; MSG SIZE  rcvd: 95

ping

これはネットワーク疎通を確認したいホストに対してIPパケットを発行し、そのパケットが正しく届いて返答が行われるかを確認するためのコマンドです。
TCP/IPネットワークでは、IPやTCP、UDPプロトコルのパケットにさまざまな情報を載せてホスト間で通信をしていますが、その通信中にエラーが起こった場合、ICMPという補助的なプロトコルを使ってエラーを伝えることになっています。
pingではechoと呼ばれるICMPでサポートされる機能を利用し、パケットを送り返していることを確認しています。
※ネットワーク全体ではなくコマンドを発行したホストからの観測結果であることに注意

~ ❯❯❯ ping www.homes.co.jp
PING www2.homes.co.jp (13.114.214.201): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3

tcpdump

ネットワーク上を流れるパケットの様子を観察するためのコマンドです。
ネットワークに何かしらの障害が起きた時に例えばpingを使って接続できるか確認をしますが、通信内容をパケット単位で詳細に確認したい時に利用できます。
実際には特定のパケットのみを出力するために、例えばオプションを利用しフィルタリングを行い利用します。
例えば、www.homes.co.jpからWebページの内容を取得する際に受信したパケットの情報のみを出力する場合には、以下のように指定します。

~ ❯❯❯ sudo tcpdump src www.homes.co.jp and port https
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on pktap, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes
01:56:13.658284 IP ec2-13-114-214-201.ap-northeast-1.compute.amazonaws.com.https > xxx.xxx.0.11.61752: Flags [.], ack 1356745009, win 422, options [nop,nop,TS val 226900985 ecr 1344423181], length 0
01:56:13.658613 IP ec2-13-114-214-201.ap-northeast-1.compute.amazonaws.com.https > xxx.xxx.0.11.61752: Flags [P.], seq 0:46, ack 47, win 422, options [nop,nop,TS val 226900985 ecr 1344423181], length 46
01:56:13.832161 IP ec2-13-114-214-201.ap-northeast-1.compute.amazonaws.com.https > xxx.xxx.0.11.61752: Flags [.], seq 46:1494, ack 47, win 422, options [nop,nop,TS val 226901028 ecr 1344423199], length 1448
01:56:13.832722 IP ec2-13-114-214-201.ap-northeast-1.compute.amazonaws.com.https > xxx.xxx.0.11.61752: Flags [.], seq 1494:2942, ack 47, win 422, options [nop,nop,TS val 226901028 ecr 1344423199], length 1448
01:56:13.832729 IP ec2-13-114-214-201.ap-northeast-1.compute.amazonaws.com.https > xxx.xxx.0.11.61752: Flags [.], seq 2942:4390, ack 47, win 422, options [nop,nop,TS val 226901028 ecr 1344423199], length 1448

tracepath/traceroute

指定したアドレスに宛ててパケットを送信し、その経路上でパケットを中継するホストのアドレスを列挙するコマンドです。
pingで相手ホストから正常な応答がなかった場合等に、ホスト自身や経路上のルーターのルーティング設定が正しいかどうかを確認する時に利用できます。
また、パケットを中継するホストから自身のホストへ戻ってくる応答パケットの経路(=復路)が、往路と異なっていることを検知し出力することもできます。

~ ❯❯❯ traceroute www.homes.co.jp
traceroute: Warning: www.homes.co.jp has multiple addresses; using 54.92.33.209
traceroute to www2.homes.co.jp (54.92.33.209), 64 hops max, 52 byte packets
 1  xxx.xxx.0.1 (xxx.xxx.0.1)  1.263 ms  0.910 ms  0.902 ms
 2  * * *

参考文献

Linux環境でnslookupやdigコマンドでDNSを学ぶ
AレコードとCNAMEレコードの違い
tcpdumpでネットワーク状況を知る
tracepathの経路非対称判定
【図解】tracerouteの仕組み
ipコマンドでネットワーク設定と確認
tcpdumpの使い方

22
23
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
22
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?