11月11日、海外のエンジニア向けメディアHow-To Geekが「12 Basic Networking Commands Every Linux User Should Know」と題した記事を公開した。この記事では、Linuxユーザーが知っておくべき基本的なネットワーキングコマンドについて詳しく紹介されている。
以下に、その内容を紹介する。
ping
概要
ping コマンドは、指定したホストやIPアドレスに対してICMPエコーリクエストを送り、ネットワークの到達性と応答時間を確認するために使用される。
実行例
ping google.com
実行結果
PING google.com (142.250.196.110) 56(84) bytes of data.
64 bytes from 142.250.196.110: icmp_seq=1 ttl=115 time=12.5 ms
64 bytes from 142.250.196.110: icmp_seq=2 ttl=115 time=12.3 ms
64 bytes from 142.250.196.110: icmp_seq=3 ttl=115 time=12.4 ms
64 bytes from 142.250.196.110: icmp_seq=4 ttl=115 time=12.6 ms
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 12.3/12.45/12.6/0.1 ms
traceroute
概要
traceroute コマンドは、ネットワークを経由するルートとその各段階の遅延時間を表示する。
実行例
traceroute google.com
実行結果
traceroute to google.com (142.250.196.110), 30 hops max, 60 byte packets
1 router.local (192.168.1.1) 1.234 ms 1.117 ms 1.048 ms
2 10.0.0.1 (10.0.0.1) 10.625 ms 10.554 ms 10.412 ms
3 isp-gateway (203.0.113.1) 15.682 ms 15.542 ms 15.491 ms
4 142.250.196.110 (142.250.196.110) 20.834 ms 20.710 ms 20.567 ms
mtr
概要
mtr コマンドは ping と traceroute を統合したツールで、リアルタイムでパケットの到達性と経路情報を確認する。
実行例
mtr -rw google.com
実行結果
Start: Mon Oct 30 10:02:16 2023
HOST: localhost Loss% Snt Last Avg Best Wrst StDev
1. router.local 0.0% 10 1.2 1.1 1.0 1.3 0.1
2. 10.0.0.1 0.0% 10 10.5 10.6 10.4 10.8 0.1
3. isp-gateway 0.0% 10 15.7 15.6 15.4 15.9 0.1
4. 142.250.196.110 0.0% 10 20.8 20.6 20.5 21.0 0.2
ip
概要
ip コマンドは、ネットワークインターフェースの設定と状態の確認に使用される。
実行例
ip addr show
実行結果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 86371sec preferred_lft 86371sec
netstat
概要
netstat コマンドは、ネットワーク接続、ルーティングテーブル、インターフェース統計、マスカレード接続、マルチキャストメンバーシップの情報を表示する。
実行例
netstat -an
実行結果
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.1.10:22 192.168.1.1:58263 ESTABLISHED
udp 0 0 0.0.0.0:68 0.0.0.0:*
tcpdump
概要
tcpdump コマンドは、ネットワークパケットをキャプチャし、リアルタイムで表示する。
実行例
tcpdump -i eth0 port 80
実行結果
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
10:02:01.123456 IP 192.168.1.10.54321 > 142.250.196.110.http: Flags [S], seq 123456789, win 64240, options [mss 1460,sackOK,TS val 123456 ecr 0,nop,wscale 7], length 0
10:02:01.234567 IP 142.250.196.110.http > 192.168.1.10.54321: Flags [S.], seq 987654321, ack 123456790, win 65535, options [mss 1460,sackOK,TS val 987654 ecr 123456,nop,wscale 7], length 0
dig
概要
dig コマンドは、DNSリゾルバに対してクエリを実行し、名前解決情報を取得する。
実行例
dig google.com
実行結果
; <<>> DiG 9.16.1-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 300 IN A 142.250.196.110
;; Query time: 5 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Mon Oct 30 10:05:16 UTC 2023
;; MSG SIZE rcvd: 55
curl
概要
curl コマンドは、HTTP/HTTPSプロトコルを使ってウェブサーバーにリクエストを送り、レスポンスを受け取るために使用される。
実行例
curl -I https://www.google.com
実行結果
HTTP/2 200
date: Mon, 30 Oct 2023 10:10:16 GMT
expires: -1
cache-control: private, max-age=0
content-type: text/html; charset=ISO-8859-1
server: gws
route
概要
route コマンドは、ネットワークのルーティングテーブルを表示・操作するために使用される。
実行例
route -n
実行結果
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
ss
概要
ss コマンドは、ソケットの情報を表示する。現在の接続状態やリッスン中のポートなどを確認できる。
実行例
ss -tuln
実行結果
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
udp UNCONN 0 0 0.0.0.0:68 0.0.0.0:*
host
概要
host コマンドは、指定したドメインのIPアドレスやDNS情報を簡潔に表示する。
実行例
host google.com
実行結果
google.com has address 142.250.196.110
google.com has IPv6 address 2607:f8b0:4005:80a::200e
whois
概要
whois コマンドは、ドメインの登録情報を確認する。
実行例
whois google.com
実行結果
Domain Name: google.com
Registry Domain ID: 2138514_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.markmonitor.com
Registrar URL: http://www.markmonitor.com
Updated Date: 2023-04-30T09:11:01-0700
Creation Date: 1997-09-15T00:00:00-0700
Registrar Registration Expiration Date: 2028-09-14T00:00:00-0700
...
wget
概要
wget コマンドは、指定したURLからファイルをダウンロードする。
実行例
wget https://www.example.com/file.zip
実行結果
--2023-10-30 10:20:16-- https://www.example.com/file.zip
Resolving www.example.com (www.example.com)... 93.184.216.34
Connecting to www.example.com (www.example.com)|93.184.216.34|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1234567 (1.2M) [application/zip]
Saving to: ‘file.zip’
file.zip 100%[===================>] 1.18M 2.34MB/s in 0.5s
2023-10-30 10:20:17 (2.34 MB/s) - ‘file.zip’ saved [1234567/1234567]
以上が、基本的なLinuxネットワーキングコマンドの実行例とその結果である。
詳細は12 Basic Networking Commands Every Linux User Should Knowを参照していただきたい。