做者 | JackTian
来源 | 公众号:杰哥的IT之旅(ID:Jake_Internet)git
前言
在平常工做中,咱们所常常使用的 Linux 服务器操做系统,不管是要查看网络设备的信息、管理网络接口、下载文件、调试网络问题仍是查看网络的统计数据,均可以在终端下用命令来完成。github
ifconfig / ip a
命令 ifconfig 与 ip a 是相似的,用于输出网络接口配置、调优等各类选项,可便捷的查看 IP 地址和其它网络接口的信息以及查看全部启用的网络接口的状态、名字或指定网络接口名字来显示一个接口的信息。ubuntu
# 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 传输协议。ssh
如能 ping 通将进行输出要求响应的信息,ping 不通时,将显示没有路由或拒绝等相关性的响应信息,可根据输出信息来解决具体的网络状况;curl
# ping -c 4 www.baidu.com
tracepath / traceroute
tracepath 和 traceroute 命令功能相似,不须要root权限。socket
Ubuntu 是预装了 tracepath 命令,traceroute 命令没有预装。tcp
tracepath 命令:能够追踪出到指定目的地址的网络路径,并进行输出了每一个路径上的每一跳地址信息,当网络出现问题或是慢了,可以使用 tracepath 命令能够查出网络在哪里断了或是慢了。ide
traceroute 命令:用来追踪网络数据包的路由路径,数据包大小预设是 40Bytes。数据包从一个出发点到一个目的地,走的路由路径可能会不太同样,但大体上是相同的。
# tracepath www.baidu.com # traceroute www.baidu.com
mtr
mtr 命令:是把 ping 命令和 tracepath 命令合二为一了。
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
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