Linux下控制网络的11条命令

无论你是想要下载文件,还是诊断网络问题,管理网络连接亦或是查看网络状态,这里都有你想要的命令。这里包括了一些可靠的实用的工具以及一些新的命令。

你可以在图形界面执行这里的大多数命令,即使是几乎不用终端的Linux用户也知道要开一个来Ping或者是执行其他诊断命令。

curl&wget

使用curl或者wget命令可以不用离开终端就可以从Internet上下载文件。如果你用curl的话,你需要键入“curl –O”后面再跟上文件的URL。Wget则不需要任何参数就可以使用。下载好的文件会存放在当前文件夹。

curl -O website.com/file
wget website.com/file

linux_network_curl

ping

Ping命令会发送一个ECHO_REQUEST数据包给你指定的地址。这是一个用来检验你的电脑是否联网或是能否连接指定IP地址的绝佳途径。然而你需要考虑到很多系统都会设置成不回复ping数据包。

不像Windows下的ping命令,Linux的ping会持续发送数据包直到你手动终止(很简单,Ctrl+C即可)。你可以用-c参数指定数据包个数。

ping -c 4 g.cn

 

tracepath&traceroute

tracepath命令与traceroute命令相似,但却不需要请求root权限。对Ubuntu来说tracepath已经默认安装,而traceroute却并没有。Tracepath将追踪你指定的目标地址并且反馈经过的所有节点。如果你的网络很慢,tracepath可以显示出网络不通或者堵塞的地方。

tracepath example.com

linux_network_tracepath_traceroute

mtr

mtr命令可以说包括了ping和tracepath命令的功能。Mtr会持续发送数据包,展示你ping每一个节点的时间。这样就可以显示出问题所在——从下图中的情况可以看出,节点6丢失了超过20%的数据包。

mtr th0.me

linux_network_mtr

最后你可以按q或者Ctrl-C退出。

host

host命令可以用于DNS查询。指定一个域名你就可以看到与其关联的IP地址。反之,指定IP可以看到相关域名。

host howtogeek.com
host 208.43.115.82

linux_network_ping

whois

whois命令可以告诉你一个网站的whois信息,你可以查看一个域名的详细信息,比如域名的注册人。

whois example.com

linux_network_whois

ifplugstatus

ifplugstatus命令可以告诉你是否有网线插入网络设备接口。这个命令Ubuntu没有默认安装,你可以用下面的命令安装:
sudo apt-get install ifplugd
运行这条命令可以查看所有的或是指定的网络设备的状态。

linux_network_ifplugstatus

ifplugstatus
ifplugstatus eth0

若显示“Link beat detected”意味着已连接,如果未连接会显示“unplugged”。

ifconfig

ifconfig有一系列的参数选项可供配置、调节和调试你系统的网络设备。同时也是查看IP地址和其他网络设备信息的快捷方法。你可以指定一个设备的名称来查看它的信息。

ifconfig
ifconfig eth0

linux_network_ifconfig

ifdown&ifup

ifdown和ifup与运行ifconfig down和ifconfig up一样。指定一个设备名称,就可以启用或是禁用。这两个命令需要root权限,所以在Ubuntu上你需要加sudo前缀。

sudo ifdown eth0
sudo ifup eth0

linux_network_ifdown_ifup

对于Linux的桌面版,你可能会得到一个错误提示。Linux的桌面发行版通常使用网络管理器来管理网络设备。但这些命令在Linux服务器版上会起作用。如果你坚持要用命令控制网络管理器,你可以用nmcli命令。

dhclient

dhclient命令可以释放当前的IP地址然后从你的DHCP服务器重新获取。这需要root权限,所以Ubuntu要加sudo前缀。执行dhclient可以获取IP地址,而加上-r参数可以释放你当前的IP地址。

sudo dhclient -r
sudo dhclient

linux_network_dhclient

netstat

netstat可以显示一大堆不同网络设备的状态包括打开sockets和路由表。直接运行你可以得到一个sockets的列表。

linux_network_netstat_1

你可以用这个命令干更多的事。比如netstat –p命令可以查看与打开的sockets相关的程序。

linux_network_netstat_2

用netstat –s查看所有端口详细的状态。

linux_network_netstat_3

 

《Linux下控制网络的11条命令》上有5条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注