Linuxコマンドラインでネットワークを効率的に管理する方法
5046 ワード
前言
日常の仕事の中で、私达のよく使うLinuxサーバーのオペレーティングシステム、ネットの设备の情报を表示するのに関わらず、ネットのインタフェースを管理して、ファイルをダウンロードして、ネットの问题をデバッグしてそれともネットの统计のデータを表示して、すべて端末の下で命令で完成することができます.
ifconfig / ip a
コマンドifconfigはip aと同様に、ネットワークインタフェースの構成、チューニングなどの様々なオプションを出力するために使用され、IPアドレスや他のネットワークインタフェースの情報を簡単に表示したり、有効なすべてのネットワークインタフェースの状態、名前、またはネットワークインタフェースの名前を指定してインタフェースの情報を表示したりすることができます.
# ip a
# ifconfig
# ifconfig ens32
ifdown / ifup
ifdownとifupはコマンドifconfig downとifconfig upの機能と一致しており、主に指定したネットワークインタフェース名に有効または無効の状態を操作するために使用され、Ubuntuではroot権限が必要でsudoを使用して実行することができます.
# sudo ifdown eth0
# sudo ifup eth0
ping
pingは指定したIPアドレスにメッセージを送信し、接続性をテストすることができ、-cパラメータを使用して、メッセージパケットを送信する個数を指定することができます.
pingコマンドを実行するとICMP転送プロトコルが使用されます.
ping通が出力要求応答を行う情報、pingが通じない場合、ルーティングや拒否などの相関性のない応答情報が表示され、出力情報に基づいて具体的なネットワーク状況を解決することができる.
# ping -c 4 www.baidu.com
tracepath/tracerouteコマンド
tracepathはtracerouteコマンド機能と類似しており、root権限は必要ありません.
Ubuntuはtracepathコマンドがプリインストールされており、tracerouteコマンドはプリインストールされていません.
tracepathコマンド:指定した宛先アドレスへのネットワークパスを追跡し、各パス上の各ホップアドレス情報を出力することができ、ネットワークに問題が発生したり遅くなったりした場合、tracepathコマンドを使用してネットワークがどこで切れたか、遅くなったかを検出することができます.
tracerouteコマンド:ネットワークパケットのルーティングパスを追跡します.パケットサイズのプリセットは40 Bytesです.パケットは1つの出発点から1つの目的地まで、ルーティング経路が異なる場合がありますが、ほぼ同じです.
# tracepath www.baidu.com
# traceroute www.baidu.com
mtrコマンド
mtrコマンド:pingコマンドとtracepathコマンドを1つにしました.
mtrは発注を継続し、Host Addressとジャンプごとにpingする時間などを表示します.
# mtr www.github.com
キーqまたはctrl+cを押して終了します.
ifplugstatus
Ubuntuオペレーティングシステムにはこのコマンドがインストールされていません.次のコマンドでインストールできます.
# sudo apt install ifplugd
ifplugstatusコマンド:すべてのネットワークインタフェースのステータスを表示するか、ネットワークインタフェースを指定します.
# ifplugstatus
lo: link beat detected
ens32: link beat detected
# ifplugstatus ens32
ens32: link beat detected
curl/wgetコマンド
curlまたはwgetコマンドを使用すると、端末で直接ファイルをダウンロードできます.
curlは、-Oがファイルパスに続くパラメータオプションを追加する必要があります.
# curl -O http://www.freelogovectors.net/wp-content/uploads/2016/12/ubuntu_logo.png
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 282 100 282 0 0 156 0 0:00:01 0:00:01 --:--:-- 156
# ll | grep ubuntu_logo.png
-rw-r--r-- 1 root root 282 10 29 16:49 ubuntu_logo.png
wgetはパラメータオプションを必要とせず、ダウンロードしたファイルは現在のディレクトリの下に保存されます.
# wget http://www.freelogovectors.net/wp-content/uploads/2016/12/ubuntu_logo.png
# ll | grep ubuntu_logo.png
-rw-r--r-- 1 root root 95737 12 13 2016 ubuntu_logo.png
ホストコマンド
hostコマンド:DNSクエリーに使用します.hostコマンド:DNSクエリーに使用します.
コマンドパラメータがドメイン名の場合、コマンドは関連するIPを出力します.コマンドパラメータがIPの場合、コマンドは関連するドメイン名を出力します.
# host www.sina.com
# host IP Address
whoisコマンド
whoisコマンド:指定したサイトのwhoisレコードなどの情報を出力します.
# whois www.github.com
Netstatコマンド
Netstatコマンド:開いているsocketとルーティングテーブルを含むネットワークインタフェースの統計を表示します.
-p:開いているsocketに対応するプログラムを表示できます.
# netstat -p
Internet (w/o )
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 jacktian-virtual-ma:ssh 192.168.1.124:44284 ESTABLISHED 4285/sshd: root@pts
UNIX (w/o )
Proto RefCnt Flags Type State I-Node PID/Program name
unix 2 [ ] 59572 4296/systemd /run/user/0/systemd/notify
unix 2 [ ] 49351 3344/systemd /run/user/1000/systemd/notify
unix 3 [ ] 19222 1/init /run/systemd/notify
-s:すべてのポートの詳細を表示します.
# netstat -s
Ip:
Forwarding: 2
30932 total packets received
2 with invalid headers
11 with invalid addresses
0 forwarded
0 incoming packets discarded
30911 incoming packets delivered
18611 requests sent out
22 outgoing packets dropped
Icmp:
5499 ICMP messages received
3 input ICMP message failed
ICMP
destination unreachable: 141
timeout in transit: 5354
echo requests: 2
echo replies: 2
7523 ICMP messages sent
0 ICMP messages failed
ICMP
destination unreachable: 145
echo requests: 7376
echo replies: 2
たとえば、各パラメータと組み合わせて、22ポートの情報を表示します.
# netstat -anpt | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 979/sshd
tcp 0 36 192.168.1.142:22 192.168.1.124:44284 ESTABLISHED 4285/sshd: root@pts
tcp6 0 0 :::22 :::* LISTEN 979/sshd