お兄ちゃん!
そろそろネットワークも
扱えるようになりたいよ!
そうだね
今回はネットワーク関連の
コマンドを学んでいこう!
ip
コマンドip
は
ネットワーク設定を
表示したり管理するよ
ip [オプション]... 対象 操作
私は細かな設定はしないと思うんだIP アドレスの確認とか簡単な確認はどうすればいいかな?
それなら
ip addr show
だけを覚えようip address show
の短縮形で確認でよく使われる指定だよip addr show
どんな内容が出てくるのかな?
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 12:34:56:78:90:ab brd ff:ff:ff:ff:ff:ff
inet 192.168.0.100/24 brd 192.168.0.255 scope global dynamic noprefixroute eth0
valid_lft 43376sec preferred_lft 43376sec
inet6 240b:13:a120:1800:2e9b:cfb5:c0a7:7050/64 scope global dynamic noprefixroute
valid_lft 279sec preferred_lft 279sec
inet6 fe80::207:878:e024:218a/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether d8:3a:dd:88:74:ad brd ff:ff:ff:ff:ff:ff
この
lo
, eth0
, wlan0
などがネットワークデバイスを表しているよ必要な項目をその配下の表示から読み取ろうping
コマンドping
は接続先から応答が返るか確認するよ主にネットワーク疎通確認などで使われるんだping [オプション]... 接続先
オプション | 意味 |
---|---|
-c 回数 | ping を送信する回数(デフォルトは無制限) |
-i 間隔(秒) | ping を送信する間隔(デフォルトは 1 秒) |
応答が返ってこれば接続先へネットワークが繋っているって言えるのね
応答が返ってこなかった場合接続先が存在していないネットワークに問題があるなど色々な原因が考えられるよ
また
ping
が届いてもセキュリティ目的であえて応答していない場合もあることも覚えておこう実際に試してみよう
8.8.8.8
は Google が公開している DNS サーバだよここに ping を 4 回送ってみようping -c 4 8.8.8.8
おお!結果がどんどん追記されていくんだね!
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=27.6 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=24.1 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=24.8 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=24.0 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 23.968/25.106/27.585/1.464 ms
だいたい 25 ミリ秒で応答が返ってきているねゲーマーが
ping
値を気にするという話を聞いたことがあるけどどれだけサーバの応答が速く返ってくるかの目安にもなるんだねtraceroute
コマンドtraceroute
は接続先に届くまでの経路を確認するよtraceroute [オプション]... 接続先
ping
と同じで途中の経路が応答しない場合もよくあるんだあくまで簡易確認のつもりで使うといいよへぇ!最終地点に到達できるかだけじゃなく途中の中継地点も確認できるんだね!
では
google.com
に到達するまでにどのような経路をたどっているか見てみよう!traceroute google.com
ping
と似ているねどんどん結果が追記されていくよ!traceroute to google.com (172.217.175.110), 30 hops max, 60 byte packets
1 router.local (192.168.0.1) 0.598 ms 0.754 ms 0.947 ms
2 200.200.200.200 (200.200.200.200) 6.132 ms 5.947 ms 6.793 ms
3 210.210.210.210 (210.210.210.210) 23.377 ms 23.979 ms 23.812 ms
4 220.220.220.220 (220.220.220.220) 25.470 ms 22.335 ms 25.664 ms
5 * * *
6 240.240.240.240 (240.240.240.240) 25.470 ms 22.335 ms 25.664 ms
7 250.250.250.250 (250.250.250.250) 25.470 ms 22.335 ms 25.664 ms
7つの経路を経由して
google.com
に到着しているね5番目の経路は応答を返さなかったので情報が得られなかったことを示しているよcurl
コマンドcurl
は指定した URL からデータを取得するよcurl [オプション]... URL
オプション | 意味 |
---|---|
-L | リダイレクトをたどる |
-o ファイル | 取得したデータをファイルに保存 |
-O | 取得したデータを URL と同じ名前で保存 |
これで色々なファイルをインターネット経由で拾って来られるね!
ここでは
https://www.google.co.jp
からデータを取得してみようcurl https://www.google.co.jp
わっ!たくさん文字が表示されたよ!
普段はブラウザが描画してくれる HTML の内容がそのまま出力されたんだね
指定が無ければこのように標準出力に出力されるんだリダイレクトやオプションを指定してあげるとその内容をファイルに保存できるよ
wget
コマンドwget
も指定した URL からデータを取得するよwget [オプション]... URL
オプション | 意味 |
---|---|
--max-redirect=回数 | リダイレクトを最大指定した回数までたどる(デフォルトは 20) |
-O ファイル | 取得したデータをファイルに保存 |
wget
は curl
と何が違うのかな?wget
はダウンローダなんだ大量のファイルをダウンロードする場合に便利だよここでは URL からデータを取得するツールとして紹介するよ
ダウンローダとしての使い方に興味があれば
man
で確認してねman wget
今回はネットワーク関連コマンド
ip
, ping
, traceroute
, curl
, wget
を学んだよ!これらのコマンドでデータを取得したり、 ネットワークのトラブルシューティングができるよ最初はこのぐらいを押さえておけば十分だよ!