linux 网络命令,linux必学的60个命令
其实linux 网络命令的问题并不复杂,但是又很多的朋友都不太了解linux必学的60个命令,因此呢,今天小编就来为大家分享linux 网络命令的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
Linux必学的网络操作命令
因为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命令,这个命令将显示机器所有激活接口的信息。带有“-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登录到远程计算机上,必须知道远程机上的合法用户名和口令。虽然有些系统确实为远程用户提供登录功能,但出于对安全的考虑,要限制来宾的操作权限,因此,这种情况下能使用的功能是很少的。
telnet只为普通终端提供终端仿真,而不支持X-Window等图形环境。当允许远程用户登录时,系统通常把这些用户放在一个受限制的Shell中,以防系统被怀有恶意的或不小心的用户破坏。用户还可以使用telnet从远程站点登录到自己的计算机上,检查电子邮件、编辑文件和运行程序,就像在本地登录一样。
ftp
1.作用
ftp命令进行远程文件传输。FTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身,所以ftp既是协议又是一个命令。
2.格式
ftp [-dignv][主机名称IP地址]
3.主要参数
-d:详细显示指令执行过程,便于排错分析程序执行的情形。
-i:关闭互动模式,不询问任何问题。
-g:关闭本地主机文件名称支持特殊字符的扩充特性。
-n:不使用自动登陆。
-v:显示指令执行过程。
4.应用说明
ftp命令是标准的文件传输协议的用户接口,是在TCP/IP网络计算机之间传输文件简单有效的方法,它允许用户传输ASCⅡ文件和二进制文件。为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。这个用户名/口令的组合用来确认ftp会话,并用来确定用户对要传输的文件进行什么样的访问。另外,用户需要知道对其进行ftp会话的计算机名字的IP地址。
用户可以通过使用ftp客户程序,连接到另一台计算机上;可以在目录中上下移动、列出目录内容;可以把文件从远程计算机机拷贝到本地机上;还可以把文件从本地机传输到远程系统中。ftp内部命令有72个,下面列出主要几个内部命令:
ls:列出远程机的当前目录。
cd:在远程机上改变工作目录。
lcd:在本地机上改变工作目录。
close:终止当前的ftp会话。
hash:每次传输完数据缓冲区中的数据后就显示一个#号。
get(mget):从远程机传送指定文件到本地机。
put(mput):从本地机传送指定文件到远程机。
quit:断开与远程机的连接,并退出ftp。
route
1.作用
route表示手工产生、修改和查看路由表。
2.格式
#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]
#route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]
3.主要参数
-add:增加路由。
-delete:删除路由。
-net:路由到达的是一个网络,而不是一台主机。
-host:路由到达的是一台主机。
-netmask Nm:指定路由的子网掩码。
gw:指定路由的网关。
[dev]If:强迫路由链指定接口。
4.应用实例
route命令是用来查看和设置Linux系统的路由信息,以实现与其它网络的通信。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。使用下面命令可以增加一个默认路由:
route add 0.0.0.0 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:
[root@localhost root]# Finger
Login Name Tty Idle Login Time Office Office Phone
root root tty1 2 Dec 15 11
root root pts/0 1 Dec 15 11
root root*pts/1 Dec 15 11
5.应用说明
如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程的支持。
1.作用
mail作用是发送电子邮件,使用权限是所有用户。此外,mail还是一个电子邮件程序。
2.格式
mail [-s subject] [-c address] [-b address]
mail-f [mailbox]mail [-u user]
3.主要参数
-b address:表示输出信息的匿名收信人地址清单。
-c address:表示输出信息的抄送()收信人地址清单。
-f [mailbox]:从收件箱者指定邮箱读取邮件。
-s subject:指定输出信息的主体行。
[-u user]:端口指定优化的收件箱读取邮件。
nslookup
1.作用
nslookup命令的功能是查询一台机器的IP地址和其对应的域名。使用权限所有用户。它通常需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
2.格式
nslookup [IP地址/域名]
3.应用实例
(1)在本地计算机上使用nslookup命令
$ nslookup
Default Server: name.cao.com.cn
Address: 192.168.1.9
在符号“”后面输入要查询的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.20,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(SecureShell)程序可以通过网络登录到远程主机,并执行命令。rcp、rlogin等远程调用命令也逐渐被VNC软件代替。
2.在一张网卡上绑定多个IP地址
在Linux下,可以使用ifconfig方便地绑定多个IP地址到一张网卡。例如,eth0接口的原有IP地址为192.168.0.254,可以执行下面命令:
ifconfig eth0:0 192.168.0.253 netmask 255.255.255.0
ifconfig eth0:1 192.168.0.252 netmask 255.255.255.0
......
3.修改网卡MAC地址
首先必须关闭网卡设备,命令如下:
/sbin/ifconfig eth0 down
修改MAC地址,命令如下:
/sbin/ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
重新启用网卡:
/sbin/ifconfig eht0 up
这样网卡的MAC地址就更改完成了。每张网卡的MAC地址是惟一,但不是不能修改的,只要保证在网络中的MAC地址的惟一性就可以了。
4.初步部署IPv6
IPv4技术在网络发展中起到了巨大的作用,不过随着时间的流逝它无论在网络地址的提供、服务质量、安全性等方面都越来越力不从心,IPv6呼之欲出。Linux是所有操作系统中最先支持IPv6的,一般Linux基于2.4内核的Linux发行版本都可以直接使用IPv6,不过主要发行版本没有加载IPv6模块,可以使用命令手工加载,需要超级用户的权限。
(1)加载IPv6模块
使用命令检测,其中inet6 addr: fe80::5054:abff:fe34:5b09/64,就是eth0网卡的IPv6地址。
# modprobe IPv6#ifconfig eth0 Link encap:Ethernet HWaddr 52:54:AB:34:5B:09 inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::5054:abff:fe34:5b09/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0(0.0 b) TX bytes:1360(1.3 Kb) Interrupt:5 Base address:0xec00
(2)使用ping命令检测网卡的IPv6地址是否有效
#ping6-I eth0-c 2 fe80::200:e8ff:fea0:2586
和IPv4不一样,使用ping6命令时必须指定一个网卡界面,否则系统不知道将数据包发送到哪个网络设备。I表示Interface、eth0是第一个网卡,-c表示回路,2表示ping6操作两次。结果见图1所示。
图1 IPv6网络下的ping6命令
(3)使用ip命令在IPv6下为eth0增加一个IP地址
#ip-6 addr add 3ffe:ffff:0:f101::1/64 dev eth0
使用ifconfig命令,查看网卡是否出现第二个IPv6地址。
Linux网络的主要优点是能够实现资源和信息的共享,并且用户可以远程访问信息。Linux提供了一组强有力的网络命令来为用户服务,这些工具能够帮助用户进行网络设定、检查网络状况、登录到远程计算机上、传输文件和执行远程命令等。
关于Linux下必须知道的11个网络命令有哪些
以下罗列一些非常有用的网络命令(不止11个)
连通性
• ping<host>:发送 ICMP echo消息(一个包)到主机。这可能会不停地发送直到你按下 Control-C,Ping的通意味着一个包从你的机器通过 ICMP发送出去,并在 IP层回显。Ping告诉你另一个主机是否在运行。
• telnet<host> [port]:与主机在指定的端口通信。默认的 telnet端口是 23。按 Control-]以退出 telnet。其它一些常用的端口是:
7—— echo端口
25—— SMTP,用于发送邮件
79—— Finger(LCTT译注:维基百科- Finger protocal,不过举例 Finger恐怕不合时宜,倒不如试试 80?),提供该网络下其它用户的信息。
ARP
ARP用于将 IP地址转换为以太网地址。root用户可以添加和删除 ARP记录。当 ARP
记录被污染或者错误时,删除它们会有用。root显式添加的 ARP记录是永久的——代理设置的也是。ARP
表保存在内核中,动态地被操作。ARP记录会被缓存,通常在 20分钟后失效并被删除。
• arp-a:打印 ARP表。
• arp-s<ip_address><mac_address> [pub]:添加一条记录到表中。
• arp-a-d:删除 ARP表中的所有记录。
路由
• netstat-r:打印路由表。路由表保存在内核中,用于 IP层把包路由到非本地网络。
• route add:route:用于向路由表添加静态(手动指定而非动态)路由路径。所有从该 PC到那个 IP/子网的流量都会经由指定的网关 IP。它也可以用来设置一个默认路由。
例如,在 IP/子网处使用 0.0.0.0,就可以发送所有包到特定的网关。
• routed:控制动态路由的 BSD守护程序。开机时启动。它运行 RIP路由协议。只有 root用户可用。没有 root权限你不能运行它。
• gated:gated是另一个使用 RIP协议的路由守护进程。它同时支持 OSPF、EGP和 RIP协议。只有 root用户可用。
• traceroute:用于跟踪 IP包的路由。它每次发送包时都把跳数加 1,从而使得从源地址到目的地之间的所有网关都会返回消息。
• netstat-rnf inet:显示 IPv4的路由表。
• sysctl net.inet.ip.forwarding=1:启用包转发(把主机变为路由器)。
• route add|delete [-net|-host]<destination><gateway>:(如 route add 192.168.20.0/24 192.168.30.4)添加一条路由。
• route flush:删除所有路由。
• route add-net 0.0.0.0 192.168.10.2:添加一条默认路由。
• routed-Pripv2-Pno_rdisc-d [-s|-q]:运行 routed守护进程,使用 RIPv2协议,不启用 ICMP自动发现,在前台运行,供给模式或安静模式。
• route add 224.0.0.0/4 127.0.0.1:为本地地址定义多播路由。(LCTT译注:原文存疑)
• rtquery-n<host>(LCTT译注:增加了 host参数):查询指定主机上的 RIP守护进程(手动更新路由表)。
其它
• nslookup:向 DNS服务器查询,将 IP转为名称,或反之。例如,nslookup facebook.com会给出 facebook.com的 IP。
• ftp<host> [port](LCTT译注:原文中 water应是笔误):传输文件到指定主机。通常可以使用登录名"anonymous",密码"guest"来登录。
• rlogin-l<host>(LCTT译注:添加了 host参数):使用类似 telnet的虚拟终端登录到主机。
重要文件
•/etc/hosts:域名到 IP地址的映射。
•/etc/networks:网络名称到 IP地址的映射。
•/etc/protocols:协议名称到协议编号的映射。
•/etc/services:TCP/UDP服务名称到端口号的映射。
工具和网络性能分析
• ifconfig<interface><address> [up]:启动接口。
• ifconfig<interface> [down|delete]:停止接口。
• ethereal&:在后台打开 ethereal而非前台。
• tcpdump-i-vvv:抓取和分析包的工具。
• netstat-w [seconds]-I [interface]:显示网络设置和统计信息。
• udpmt-p [port]-s [bytes] target_host:发送 UDP流量。
• udptarget-p [port]:接收 UDP流量。
• tcpmt-p [port]-s [bytes] target_host:发送 TCP流量。
• tcptarget-p [port]:接收 TCP流量。
交换机
• ifconfig sl0 srcIP dstIP ifconfig sl0 srcIP dstIP:配置一个串行接口(在此前先执行 slattach-l/dev/ttyd0,此后执行 sysctl net.inet.ip.forwarding=1)
• telnet 192.168.0.254:从子网中的一台主机访问交换机。
• sh ru或 show running-configuration:查看当前配置。
• configure terminal:进入配置模式。
• exit:退出当前模式。(LCTT译注:原文存疑)
VLAN
• vlan n:创建一个 ID为 n的 VLAN。
• no vlan N:删除 ID为 n的 VLAN。
• untagged Y:添加端口 Y到 VLAN n。
• ifconfig vlan0 create:创建 vlan0接口。
• ifconfig vlan0 vlan_ID vlandev em0:把 em0加入到 vlan0接口(LCTT译注:原文存疑),并设置标记为 ID。
• ifconfig vlan0 [up]:启用虚拟接口。
• tagged Y:为当前 VLAN的端口 Y添加标记帧支持。
UDP/TCP
• A socklab udp:使用 UDP协议运行 socklab。
• sock:创建一个 UDP套接字,等效于输入 sock udp和 bind。
• sendto<Socket ID><hostname><port#>:发送数据包。
• recvfrom<Socket ID><byte#>:从套接字接收数据。
• socklab tcp:使用 TCP协议运行 socklab。
• passive passive:创建一个被动模式的套接字,等效于 socklab,sock tcp,bind,listen。
• accept:接受进来的连接(可以在发起进来的连接之前或之后执行)。
• connect<hostname><port#>:等效于 socklab,sock tcp,bind,connect。
• close:关闭连接。
• read<byte#>:从套接字中读取 n字节。
• write:(例如write ciao、write#10)向套接字写入"ciao"或 10个字节。
NAT/防火墙
• rm/etc/resolv.conf:禁止地址解析,保证你的过滤和防火墙规则正确工作。
• ipnat-f file_name:将过滤规则写入文件。
• ipnat-l:显示活动的规则列表。
• ipnat-C-F:重新初始化规则表。
• map em0 192.168.1.0/24-> 195.221.227.57/32 em0:将 IP地址映射到接口。
• map em0 192.168.1.0/24-> 195.221.227.57/32 portmap tcp/udp 20000:50000:带端口号的映射。
• ipf-f file_name:将过滤规则写入文件。
• ipf-F-a:重置规则表。
• ipfstat-I:当与-s选项合用时列出活动的状态条目
内容来源:http;//www.linuxprobe.com/linux-network-command.html
Linux常用网络命令
netstat命令的功能是显示网络连接、路由表和网络接口信息,用户可以了解当前有哪些网络连接正在运行。netstat命令的基本格式为:netstat [选项]。其中,-a选项表示显示所有socket,包括正在监听的;-c选项每秒重新显示一次,直到用户中断;-i选项显示所有网络接口的信息;-n选项以网络IP地址代替名称,显示网络连接情况;-r选项显示核心路由表;-t选项显示TCP协议的连接情况;-u选项显示UDP协议的连接情况;-v选项显示正在进行的工作。例如,在本地机上使用netstat命令:
$ netstat
Active Internet connections(w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets(w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 1 [ ] STREAM CONNECTED 270@00000008
unix 1 [ ] STREAM CONNECTED 150@00000002
……
nslookup命令用于查询一台机器的IP地址和其对应的域名。它通常需要一台域名服务器来提供域名服务。使用格式为:nslookup [IP地址/域名]。例如,在本地机上使用nslookup命令:
$ nslookup
Default Server: name.tlc.com.cn
Address: 192.168.1.99
>
在符号“>”后面输入要查询的IP地址或域名并回车即可。若要退出该命令,输入exit并回车。
finger命令用于查询用户信息,通常显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,前提是查询的网络主机需要运行finger守护进程。finger命令的基本格式为:finger [选项] [使用者] [用户@主机]。选项-s显示用户的注册名、实际姓名、终端名称、写状态、停滞时间、登录时间等信息;-l除了用-s选项显示的信息外,还显示用户主目录、登录shell、邮件状态等信息,以及用户主目录下的.plan、.project和.forward文件的内容;-p选项除了不显示.plan文件和.project文件以外,与-l选项相同。例如,在本地机上使用finger命令:
$ finger xxq
Login: xxq Name:
Directory:/home/xxq Shell:/bin/bash
Last login Thu Jan 1 21:43(CST) on tty1
No mail.
No Plan.
$ finger
Login Name Tty Idle Login Time Office Office Phone
root root*1 28 Nov 25 09:17
……
ping命令用于检查网络上的主机是否在工作。它向该主机发送ICMP ECHO_REQUEST包。例如,要检查主机是否在线,可以使用ping命令:
$ ping [选项]主机名/IP地址
其中,-c选项指定发送指定数目的包后停止;-d选项设定SO_DEBUG的选项;-f选项大量且快速地发送网络封包给一台机器,看它的回应;-I选项设定间隔几秒发送一个网络封包给一台机器,预设值是一秒送一次;-l选项指定在指定次数内,以最快的方式发送封包数据到指定机器(只有超级用户可以使用此选项);-q选项不显示任何传送封包的信息,只显示最后的结果;-r选项不经由网关而直接发送封包到一台机器,通常是查看本机的网络接口是否有问题;-s选项指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。