Linux 必学的 60 个命令(4)网络操作

因为 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.主要参数4.应用说明

ifconfig 是用来设置和配置网卡的命令行工具。为了手工配置网络,这是一个必须掌握的命令。使用该命令的好处是无须重新启动机器。要赋给 ethO 接口 IP 地址2O7.164.186.2,并且马上激活它,使用下面命令:

t:ifconfig ethO 21O.34.6.89 netmask 255.255.255.128 broadcast 21O.34.6.127

该命令的作用是设置网卡 ethO 的 IP 地址、网络掩码和网络的本地广播地址。若运行不带任何参数的 ifconfig 命令,这个命令将显示机器所有激活接口的信息。带有“—a"参数的命令则显示所有接口的信息,包括没有激活的接口。注意,用 ifconfig 命令配置的网络设备参数,机器重新启动以后将会丢失。

如果要暂停某个网络接口的工作,可以使用 down 参数:

t:ifconfig ethO 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 的简写。

—O

是—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 ethO 等千 ip link ls dev ethO。我们将在后面的详细介绍每个命令的使用,命令的默认参数将使用 default 标出。

4.应用实例

添加 IP 地址 192.168.2.2/24 到 ethO 网卡上:

t:ip addr add 192.168.1.1/24 dev ethO

丢弃源地址属千 192.168.2.O/24 网络的所有数据报: t:ip rule add from 192.168.2.O/24 prio 32777 reject ping 1.作用

ping 检测主机网络接口状态,使用权限是所有用户。

2.格式

ping [—dfnqrRv][—c][—i][—I][—l][—p][—s][—t] IP 地址

3.主要参数

ping 命令是使用最多的网络指令,通常我们使用它检测网络是否连通,它使用 ICMP 协议。但是有时会有这样的情况,我们可以浏览器查看一个网页,但是却无法 ping 通,这是因为一些网站处千安全考虑安装了防火墙。另外,也可以在自己计算机上试一试,通过下面的方法使系统对 ping 没有反应:

t: echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

netstat

1.作用

检查整个 Linux 网络状态。

2.格式

netstat [—acCeFghilMnNoprstuvVwx][—A][——ip]

3.主要参数

4.应用实例

netstat 主要用千 Linux 察看自身的网络状况,如开启的端口、在为哪些用户服务,


以及服务的状态等。此外,它还显示系统路由表、网络接口状态等。可以说,它是一个综合性的网络状态的察看工具。在默认情况下,netstat 只显示已建立连接的端口。如果要显示处千监听状态的所有端口,使用—a 参数即可:

t:netstat —a

Active Internet connections (only servers)

Proto

Recv—Q

Send—Q

Local

Address

Foreign Address

State

tcp

O

O

*:32768

*:*

LISTEN

tcp

O

O

*:32769

*:*

LISTEN

tcp

O

O

*:nfs

*:*

LISTEN

tcp

O

O

*:3277O

*:*

LISTEN

tcp

O

O

*:868

*:*

LISTEN

tcp

O

O

*:617

*:*

LISTEN

tcp

O

O

*:mysql

*:*

LISTEN

tcp O O *:netbios—ssn *:*

LISTEN

tcp

O

O

*:sunrpc

*:*

LISTEN

tcp

O

O

*:1OOOO

*:*

LISTEN

tcp

O

O

*:http

*:*

LISTEN

......

上面显示出,这台主机同时提供 HTTP、FTP、NFS、MySQL 等服务。telnet 1.作用

telnet 表示开启终端机阶段作业,并登入远端主机。telnet 是一个 Linux 命令,同时也是一个协议(远程登陆协议)。

2.格式

telnet [—8acdEfFKLrx][—b][—e][—k][—l][—n][—S][—X][主机名称 IP 地址<通信端口

>]

3.主要参数

4.应用说明

用户使用 telnet 命令可以进行远程登录,并在远程计算机之间进行通信。用户通过网络在远程计算机上登录,就像登录到本地机上执行命令一样。为了通过 telnet 登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出千对安全的考虑,要限制来宾的操作权限,因此,这种情况下能使用的功能是很少的。

telnet 只为普通终端提供终端仿真,而不支持 X—Window 等图形环境。当允许远程用户登录时,系统通常把这些用户放在一个受限制的 Shell 中,以防系统被怀有恶意的或不小心的用户破坏。用户还可以使用 telnet 从远程站点登录到自己的计算机上,检查电子邮件、编辑文件和运行程序,就像在本地登录一样。

ftp 1. 作 用 ftp 命令进行远程文件传输。FTP 是 ARPANet 的标准文件传输协议,该网络就是现今

Internet 的前身,所以 ftp 既是协议又是一个命令。

2.格式

ftp [—dignv][主机名称 IP 地址] 3.主要参数

4.应用说明

ftp 命令是标准的文件传输协议的用户接口,是在TCP/IP 网络计算机之间传输文件简单有效的方法,它允许用户传输 ASCII文件和二进制文件。为了使用 ftp 来传输文件,用户必须知道远程计算机上的合法用户名和口令。这个用户名/口令的组合用来确认 ftp 会话,并用来确定用户对要传输的文件进行什么样的访问。另外,用户需要知道对其进行 ftp 会话的计算机名字的 IP 地址。

用户可以通过使用 ftp 客户程序,连接到另一台计算机上;可以在目录中上下移动、列出目录内容;可以把文件从远程计算机机拷贝到本地机上;还可以把文件从本地机传输到远程系统中。ftp 内部命令有 72 个,下面列出主要儿个内部命令:

route 1. 作 用 route 表示手工产生、修改和查看路由表。2.格式

t:route [—add][—netl—host] targetaddress [—netmask Nm][dev]If]

t:route [—delete][—netl—host] targetaddress [gw Gw] [—netmask Nm] [dev]If] 3.主要参数

4. 应 用 实 例 route 命令是用来查看和设置 Linux 系统的路由信息,以实现与其它网络的通信。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位千两个网络的网关来实现。

在 Linux 系统中,设置路由通常是为了解决以下问题:该 Linux 系统在一个局域网中,

局域网中有一个网关,能够让机器访问 Internet,那么就需要将这台机器的 IP 地址设置

为 Linux 机器的默认路由。使用下面命令可以增加一个默认路由:

route add O.O.O.O 192.168.1.1 rlogin 1. 作 用 rlogin 用来进行远程注册。

2.格式

rlogin [ —8EKLdx ] [ —e char ] [—k realm ] [ — l username ] host 3.主要参数

—8:此选项始终允许 8 位输入数据通道。该选项允许发送格式化的ANSI 字符和其它的特殊代码。如果不用这个选项,除非远端的不是终止和启动字符,否则就去掉奇偶校验位。

—E:停止把任何字符当作转义字符。当和—8 选项一起使用时,它提供一个完全的透明连接。

—K:关闭所有的 Kerberos 确认。只有与使用 Kerberos 确认协议的主机连接时才使用这个选项。

—L:允许 rlogin 会话在 litout 模式中运行。要了解更多信息,请查阅 tty 联机帮助。

—d:打开与远程主机进行通信的 TCP sockets 的 socket 调试。要了解更多信息,请查阅 setsockopt 的联机帮助。

—e:为 rlogin 会话设置转义字符,默认的转义字符是“�"。

—k:请求 rlogin 获得在指定区域内远程主机的 Kerberos 许可,而不是获得由

krb_realmofhost(3)确定的远程主机区域内的远程主机的 Kerberos 许可。

—x:为所有通过 rlogin 会话传送的数据打开 DES 加密。这会影响响应时间和CPU 利用率,但是可以提高安全性。

4.使用说明

如果在网络中的不同系统上都有账号,或者可以访问别人在另一个系统上的账号,那么要访问别的系统中的账号,首先就要注册到系统中,接着通过网络远程注册到账号所在的系统中。rlogin 可以远程注册到别的系统中,它的参数应是一个系统名。

rcp

1. 作 用 rcp 代表远程文件拷贝,用千计算机之间文件拷贝,使用权限是所有用户。2.格式

rcp [—px] [—k realm] file1 file2 rcp [—px] [—r] [—k realm] file

3.主要参数

—r:递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是 一个目录。

—p:试图保留源文件的修改时间和模式,忽略 umask。

—k:请求 rcp 获得在指定区域内的远程主机的 Kerberos 许可,而不是获得由

krb_relmofhost(3)确定的远程主机区域内的远程主机的 Kerberos 许可。

—x:为传送的所有数据打开 DES 加密。finger 1.作用

finger 用来查询一台主机上的登录账号的信息,通常会显示用户名、主目录、停滞时间、登录时间、登录 Shell 等信息,使用权限为所有用户。

2.格式

finger [选项] [使用者] [用户@主机] 3.主要参数

—s:显示用户注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息。

—l:除了用—s 选项显示的信息外,还显示用户主目录、登录 Shell、邮件状态等信息, 以及用户主目录下的.plan、.project 和.forward 文件的内容。

—p:除了不显示.plan 文件和.project 文件以外,与—l 选项相同。

4.应用实例

在计算机上使用 finger:

Phone

root

root

tty1

2

Dec

15

11

root

root

pts/O

1

Dec

15

11

root

root

*pts/1

Dec

15

11

5.应用说明

如果要查询远程机上的用户信息,需要在用户名后面接“@主机名",采用[用户名@主机名]的格式,不过要查询的网络主机需要运行 finger 守护进程的支持。

mail

1.作用

mail 作用是发送电子邮件,使用权限是所有用户。此外,mail 还是一个电子邮件程序。2.格式

3.主要参数nslookup 1. 作 用 nslookup 命令的功能是查询一台机器的 IP 地址和其对应的域名。使用权限所有用户。

它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的 IP 地址对应的域名。

2.格式

nslookup [IP 地址/域名]

3.应用实例

(1)在本地计算机上使用 nslookup 命令

在符号“>"后面输入要查询的 IP 地址域名,并回车即可。如果要退出该命令,输入

“exit",并回车即可。

(2)使用 nslookup 命令测试 named

输入下面命令:

nslookup

然后就进入交换式 nslookup 环境。如果 named 正常启动,则 nslookup 会显示当前 DNS

服务器的地址和域名,否则表示 named 没能正常启动。下面简单介绍一些基本的 DNS 诊断。

• 检查正向 DNS 解析,在 nslookup 提示符下输入带域名的主机名,如 hp712.my.com,

nslookup 应能显示该主机名对应的 IP 地址。如果只输入 hp712,nslookup 会根据

/etc/resolv.conf 的定义,自动添加 my.com 域名,并回答对应的 IP 地址。

• 检查反向 DNS 解析,在 nslookup 提示符下输入某个 IP 地址,如 192.22.33.2O,

nslookup 应能回答该 IP 地址所对应的主机名。

• 检查 MX 邮件地址记录在 nslookup 提示符下输入:

set q=mx

然后输入某个域名,输入 my.com 和mail.my.com,nslookup 应能够回答对应的邮件服务器地址,即 support.my.com 和 support2.my.com。

动手练习

1.危险的网络命令

互联网的发展使安全成为一个不能忽视的问题,finger、ftp、rcp 和 telnet 在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,嗅探器可以非常容易地截获这些口令和数据。而且,这些服务程序的安全验证方式也是有弱点的,很容易受到“中间服务器"方式的攻击。这里笔者把一些不安全的命令根据危险等级列出,见表 3 所示。

现在 ftp、telnet 可以被 SSH 命令代替绑定在端口 22 上,其连接采用协商方式,使用

RSA 加密。身份鉴别完成之后,后面的所有流量都使用 IDEA 进行加密。SSH(Secure Shell)程序可以通过网络登录到远程主机,并执行命令。rcp、rlogin 等远程调用命令也逐渐被VNC 软件代替。

2.在一张网卡上绑定多个 IP 地址

在 Linux 下,可以使用 ifconfig 方便地绑定多个 IP 地址到一张网卡。例如,ethO 接

口的原有 IP 地址为 192.168.O .254,可以执行下面命令:3.修改网卡MAC 地址

首先必须关闭网卡设备,命令如下:

/sbin/ifconfig ethO down

修改 MAC 地址,命令如下:

/sbin/ifconfig ethO hw ether OO:AA:BB:CC:DD:EE

重新启用网卡:

/sbin/ifconfig ehtO up

这样网卡的 MAC 地址就更改完成了。每张网卡的 MAC 地址是惟一,但不是不能修改的,

只要保证在网络中的 MAC 地址的惟一性就可以了。

4.初步部署IPv6

IPv4 技术在网络发展中起到了巨大的作用,不过随着时间的流逝它无论在网络地址的提供、服务质量、安全性等方面都越来越力不从心,IPv6 呼之欲出。Linux 是所有操作系统中最先支持 IPv6 的,一般 Linux 基千 2.4 内核的Linux 发行版本都可以直接使用IPv6, 不过主要发行版本没有加载 IPv6 模块,可以使用命令手工加载,需要超级用户的权限。

(1)加载 IPv6 模块

使用命令检测,其中 inet6 addr: fe8O::5O54:abff:fe34:5bO9/64,就是 ethO 网卡的 IPv6 地址。

(2)使用 ping 命令检测网卡的 IPv6 地址是否有效

t:ping6 —I ethO —c 2 fe8O::2OO:e8ff:feaO:2586

和 IPv4 不一样,使用 ping6 命令时必须指定一个网卡界面,否则系统不知道将数据包发送到哪个网络设备。I 表示 Interface、ethO 是第一个网卡,—c 表示回路,2 表示ping6 操作两次。结果见图 1 所示。

图 1 IPv6 网络下的 ping6 命令

(3)使用 ip 命令在 IPv6 下为 ethO 增加一个 IP 地址

t:ip —6 addr add 3ffe:ffff:O:f1O1::1/64 dev ethO

使用 ifconfig 命令,查看网卡是否出现第二个 IPv6 地址。

Linux 网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。

Linux 提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户进行网络设定、

检查网络状况、登录到远程计算机上、传输文件和执行远程命令等。

上面介绍了Linux 中比较重要的网络命令,其实 Linux 还有许多命令需要学习。Linux 网络操作命令的一个特点就是命令参数选项很多,并不要求全部记住,关键在千理解命令的主要用途和学会使用帮助信息


分享到:


相關文章: