Linux必学的60个命令(4)-网络操作
Linux必学的60个命令:网络操作命令
Linux必学的网络操作命令 (1)
作者:曹元其 发文时间:2004.11.18
因为Linux系统是在Internet上起源和发展的,它与生俱来拥有强大的网络功能和丰富
的网络应用软件,尤其是TCP/IP网络协议的实现尤为成熟。Linux的网络命令比较多,其中
一些命令像ping、 ftp、telnet、route、netstat等在其它操作系统上也能看到,但也有一
些Unix/Linux系统独有的命令,如ifconfig、 finger、mail等。Linux网络操作命令的一个
特点是,命令参数选项和功能很多,一个命令往往还可以实现其它命令的功能。
ifconfig
1.作用
ifconfig用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,
使用权限是超级用户。
2.格式
ifconfig -interface [options] address
3.主要参数
-interface:指定的网络接口名,如eth0和eth1。
up:激活指定的网络接口卡。
down:关闭指定的网络接口。
broadcast address:设置接口的广播地址。
pointopoint:启用点对点方式。
address:设置指定接口设备的IP地址。
netmask address:设置接口的子网掩码。
4.应用说明
ifconfig是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握
的命令。使用该命令的好处是无须重新启动机器。要赋给eth0接口IP地址207.164.186.2,
并且马上激活它,使用下面命令:
#fconfig eth0 210.34.6.89 netmask 255.255.255.128 broadcast 210.34.6.127
该命令的作用是设置网卡eth0的IP地址、网络掩码和网络的本地广播地址。若运行不
带任何参数的ifconfig命令,这个命令将显示机器所有激活接诘男畔ⅰ4小?a”参数的
命令则显示所有接口的信息,包括没有激活的接口。注意,用ifconfig命令配置的网络设备
参数,机器重新启动以后将会丢失。
如果要暂停某个网络接口的工作,可以使用down参数:
#ifconfig eth0 down
ip
1.作用
ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理
工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该
命令。
2.格式
ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]
3.主要参数
OPTIONS是修改ip行为或改变其输出的选项。所有的选项都是以-字符开头,分为长、短
两种形式。目前,ip支持如表1所示选项。
OBJECT是要管理者获取信息的对象。目前ip认识的对象见表2所示。
表1 ip支持的选项
-V,-Version 打印ip的版本并退出。
-s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或多次,则输出的
信息将更为详尽。
-f,-family 这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种
类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或any。link比较
特殊,它表示不涉及任何网络协议。
-4 是-family inet的简写。
-6 是-family inet6的简写。
-0 是-family link的简写。
-o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等
工具处理ip的输出,则会用到这个选项。
-r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址
COMMAND 设置针对指定对象执行的操作,它和对象的类型有关。一般情况下,ip支持对
象的增加(add)、删除(delete)和展示(show或list)。有些对象不支持这些操作,或者有其
它的一些命令。对于所有的对象,用户可以使用help命令获得帮助。这个命令会列出这个对
象支持的命令和参数的语法。如果没有指定对象的操作命令,ip会使用默认的命令。一般情
况下,默认命令是list,如果对象不能列出,就会执行help命令。
ARGUMENTS 是命令的一些参数,它们倚赖于对象和命令。ip支持两种类型的参数:
flag和parameter。flag由一个关键词组成;parameter由一个关键词加一个数值组成。为了
方便,每个命令都有一个可以忽略的默认参数。例如,参数dev是ip link命令的默认参数,
因此ip link ls eth0等于ip link ls dev eth0。我们将在后面的详细介绍每个命令的使用
,命令的默认参数将使用default标出。
4.应用实例
添加IP地址192.168.2.2/24到eth0网卡上:
#ip addr add 192.168.1.1/24 dev eth0
丢弃源地址属于192.168.2.0/24网络的所有数据报:
#ip rule add from 192.168.2.0/24 prio 32777 reject
ping
1.作用
ping检测主机网络接口状态,使用权限是所有用户。
2.格式
ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t] IP地址
3.主要参数
-d:使用Socket的SO_DEBUG功能。
-c:设置完成要求回应的次数。
-f:极限检测。
-i:指定收发信息的间隔秒数。
-I:网络界面使用指定的网络界面送出数据包。
-l:前置载入,设置在送出要求信息之前,先行发出的数据包。
-n:只输出数值。
-p:设置填满数据包的范本样式。
-q:不显示指令执行过程,开头和结尾的相关信息除外。
-r:忽略普通的Routing Table,直接将数据包送到远端主机上。
-R:记录路由过程。
-s:设置数据包的大小。
-t:设置存活数值TTL的大小。
-v:详细显示指令的执行过程。
ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通,它使用ICMP协
议。但是有时会有这样的情况,我们可以浏览器查看一个网页,但是却无法 ping通,这是
因为一些网站处于安全考虑安装了防火墙。另外,也可以在自己计算机上试一试,通过下面
的方法使系统对ping没有反应:
# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
netstat
1.作用
检查整个Linux网络状态。
2.格式
netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]
3.主要参数
-a--all:显示所有连线中的Socket。
-A:列出该网络类型连线中的IP相关地址和网络类型。
-c--continuous:持续列出网络状态。
-C--cache:显示路由器配置的快取信息。
-e--extend:显示网络其它相关信息。
-F--fib:显示FIB。
-g--groups:显示多重广播功能群组组员名单。
-h--help:在线帮助。
-i--interfaces:显示网络界面信息表单。
-l--listening:显示监控中的服务器的Socket。
-M--masquerade:显示伪装的网络连线。
-n--numeric:直接使用IP地址,而不通过域名服务器。
-N--netlink--symbolic:显示网络硬件外围设备的符号连接名称。
-o--timers:显示计时器。
-p--programs:显示正在使用Socket的程序识别码和程序名称。
-r--route:显示Routing Table。
-s--statistice:显示网络工作信息统计表。
-t--tcp:显示TCP传输协议的连线状况。
-u--udp:显示UDP传输协议的连线状况。
-v--verbose:显示指令执行过程。
-V--version:显示版本信息。
-w--raw:显示RAW传输协议的连线状况。
-x--unix:和指定“-A unix”参数相同。
--ip--inet:和指定“-A inet”参数相同。
4.应用实例
netstat 主要用于Linux察看自身的网络状况,如开启的端口、在为哪些用户服务,以
及服务的状态等。此外,它还显示系统路由表、网络接口状态等。可以说,它是一个综合性
的网络状态的察看工具。在默认情况下,netstat只显示已建立连接的端口。如果要显示处
于监听状态的所有端口,使用-a参数即可:
#netstat -a
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:32768 *:* LISTEN
tcp 0 0 *:32769 *:* LISTEN
tcp 0 0 *:nfs *:* LISTEN
tcp 0 0 *:32770 *:* LISTEN
tcp 0 0 *:868 *:* LISTEN
tcp 0 0 *:617 *:* LISTEN
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:netbios-ssn *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:10000 *:* LISTEN
tcp 0 0 *:http *:* LISTEN
......
上面显示出,这台主机同时提供HTTP、FTP、NFS、MySQL等服务。
telnet
1.作用
telnet表示开启终端机阶段作业,并登入远端主机。telnet是一个Linux命令,同时也
是一个协议(远程登陆协议)。
2.格式
telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主机名称IP地址<通信端口>]
3.主要参数
-8:允许使用8位字符资料,包括输入与输出。
-a:尝试自动登入远端系统。
-b:使用别名指定远端主机名称。
-c:不读取用户专属目录里的.telnetrc文件。
-d:启动排错模式。
-e:设置脱离字符。
-E:滤除脱离字符。
-f:此参数的效果和指定“-F”参数相同。
-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
-k:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
-K:不自动登入远端主机。
-l:指定要登入远端主机的用户名称。
-L:允许输出8位字符资料。
-n:指定文件记录相关信息。
-r:使用类似rlogin指令的用户界面。
-S:服务类型,设置telnet连线所需的IP TOS信息。
-x:假设主机有支持数据加密的功能,就使用它。
-X:关闭指定的认证形态。
4.应用说明
用户使用telnet命令可以进行远程登录,并在远程计算机之间进行通信。用户通过网
络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过 telnet登录到远程
计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录
功能,但出于对安全的考虑,要限制来宾的操作权限,因此