正文将讲述网络有关命令,作者假定读者拥有TCP/IP协议栈的基础知识。对于有关命令及其输出只介绍它的中坚的行使办法和概略的描述,具体育协会议将不作详细解释。

linux关于互连网的授命介绍

导读本文将讲述网络有关命令,小编假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的应用方法和大致的讲述,具体磋商将不作详细分解。

金沙注册送58 1

当今互连网确实是很注重的,linux系统中提供了丰硕的互联网测试与治本命令。我们来共同探访它们。

内容如下:1、ping 发送TCMP回显请求报文,并等候重回TCMP回显应答。**

ping[OPTIONS]...destination

此间的对象destination能够是目标IP地址或然域名/主机名
分选-c钦命发送请求报文的次数,当ping没有别的取舍时,在linux中私下认可将一向发送请求报文直到手动终止。

 [[email protected]~]#ping-c3www.baidu.com PINGwww.a.shifen.com(61.135.169.121)56(84)bytesofdata. 64bytesfrom61.135.169.121:icmp_seq=1ttl=52time=1.35ms 64bytesfrom61.135.169.121:icmp_seq=2ttl=52time=1.32ms 64bytesfrom61.135.169.121:icmp_seq=3ttl=52time=1.22ms ---www.a.shifen.compingstatistics--- 3packetstransmitted,3received,0%packetloss,time2003ms rttmin/avg/max/mdev=1.225/1.303/1.359/0.064ms

先是,ping程序会向域名服务器(DNS)发送请求,深入分析域名www.baidu.com的IP地址。DNS重临域名的二个小名www.a.shifen.com以及对应的IP地址61.135.169.121。之后ping程序开首向那么些地点发送请求报文,每1s发送二个,ping收到ICMP回显应答并将结果显示在巅峰上,包蕴ICMP类别号(icmp_seq),生存时间(ttl)和数量包往返时间(time)。最终,给出汇总音讯,包涵报文化总同盟收发意况,总时间,往返时间非常小值、平均值、最大值、平均偏差(越大表达互连网越不稳固)。

[[email protected]~]#pingwww.a.comping:unknownhostwww.a.com

当目标域名不恐怕分析出IP地址时,会报未知主机的错

[[email protected]~]#ping192.168.0.1PING192.168.0.1(192.168.0.1)56(84)bytesofdata.^C#这里按CTRL+C键手动终止了进程---192.168.0.1pingstatistics---6packetstransmitted,0received,100%packetloss,time4999ms

当目标IP地址没有路由时不会接收任何ICMP回显报文

[[email protected]~]#ping-c210.0.1.2PING10.0.1.2(10.0.1.2)56(84)bytesofdata.From10.0.1.254icmp_seq=1DestinationHostUnreachableFrom10.0.1.254icmp_seq=2DestinationHostUnreachable---10.0.1.2pingstatistics---2packetstransmitted,0received,+2errors,100%packetloss,time999mspipe2

当有指标IP的路由但不能够达到时呈现目的不可达错误(Destination Host
Unreachable)。
ICMP回显应答还包蕴超时(request time out)等其它品类。

2、hostname展现或安装系统主机名

hostname[OPTIONS]...[NAME]

直白推行命令hostname时将展现主机名:

[[email protected]]#hostnamecentos7[[email protected]]#

本条主机名是系统的gethostname(2)函数再次来到的。
能够透超过实际行命令hostname NAME来偶然更换主机名:

[[email protected]]#hostnameNAME[[email protected]]#hostnameNAME

本条一时修改实际上是修改了linux
kernel中一个同为hostname的基本参数,它保存在/proc/sys/kernel/hostname中。要是必要恒久修改则供给修改配置文件/etc/sysconfig/network,centos7中需求修改/etc/hostname。需求注意的是,如若布署文件中的主机名是localhost或localhost.localdomain时,系统会获取网络接口的IP地址,并用那些地点找寻/etc/hosts文件中对应的主机名,然后将其设置成最终的hostname。

3、host DNS查询

hostname

host命令通过安排文件/etc/resolv.conf中钦赐的DNS服务器询问name的IP地址:

[[email protected]]#hostwww.baidu.comwww.baidu.comisanaliasforwww.a.shifen.com.www.a.shifen.comhasaddress61.135.169.121www.a.shifen.comhasaddress61.135.169.125

4、dig DNS

dig和host命令的语法一致,但提供了更详细的音信和越来越多的选项:

[[email protected]~]#digwww.baidu.com;<<>>DiG9.9.4-RedHat-9.9.4-29.el7_2.2<<>>www.baidu.com;;globaloptions:+cmd;;Gotanswer:;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:22125;;flags:qrrdra;QUERY:1,ANSWER:3,AUTHORITY:0,ADDITIONAL:0;;QUESTIONSECTION:;www.baidu.com.INA;;ANSWERSECTION:www.baidu.com.113INCNAMEwww.a.shifen.com.www.a.shifen.com.113INA61.135.169.125www.a.shifen.com.113INA61.135.169.121;;Querytime:2msec;;SERVER:223.5.5.5#53(223.5.5.5);;WHEN:四11月1012:31:20CST2016;;MSGSIZErcvd:90[[email protected]~]#

如只询问域名的A记录并以短格式彰显:

[[email protected]~]#digwww.baidu.comA+shortwww.a.shifen.com.61.135.169.12561.135.169.121[[email protected]~]#

或者:

[[email protected]~]#dig+nocmdwww.baidu.comA+noall+answerwww.baidu.com.252INCNAMEwww.a.shifen.com.www.a.shifen.com.252INA61.135.169.125www.a.shifen.com.252INA61.135.169.121

仍是可以用@server的办法钦赐DNS服务器:

[[email protected]~]#[email protected].a.shifen.com.www.a.shifen.com.263INA61.135.169.125www.a.shifen.com.263INA61.135.169.121

更加多的命令及挑选请自行man

5、traceroute或tracepath 路由追踪

[[email protected]~]#tracepathwww.baidu.com1?:[LOCALHOST]pmtu1500 1:10.0.1.1030.396ms 1:10.0.1.1030.350ms 2:210.51.161.11.187msasymm3 3:210.51.161.18.186ms 4:210.51.175.811.117ms 5:61.148.142.618.554msasymm12 6:61.148.147.131.694msasymm12 7:123.126.8.1173.934msasymm10 8:61.148.155.462.703msasymm10 ....

此间只列出一部分输出,表示追踪到目标地址的路由,每一跳都回来。

6、ifconfig 配置互联网接口

当命令未有其余参数时浮现全数网络接口的新闻:

[[email protected]~]#ifconfigens32:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500       inet172.20.71.254netmask255.255.255.0broadcast172.20.71.255       inet6fe80::250:56ff:fea4:fe34prefixlen64scopeid0x20<link>       ether00:50:56:a4:fe:34txqueuelen1000(Ethernet)       RXpackets11996157bytes775368588(739.4MiB)       RXerrors0dropped0overruns0frame0       TXpackets12bytes888(888.0B)       TXerrors0dropped0overruns0carrier0collisions0ens33:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet10.0.1.254netmask255.255.255.0broadcast10.0.1.255       inet6fe80::250:56ff:fea4:a09prefixlen64scopeid0x20ether00:50:56:a4:0a:09txqueuelen1000(Ethernet)  RXpackets20941185bytes1307830447(1.2GiB)    RXerrors0dropped0overruns0frame0 TXpackets147552bytes11833605(11.2MiB)   TXerrors0dropped0overruns0carrier0collisions0   lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536   inet127.0.0.1netmask255.0.0.0 inet6::1prefixlen128scopeid0x10   looptxqueuelen1(LocalLoopback)    RXpackets0bytes0(0.0B)  RXerrors0dropped0overruns0frame0TXpackets0bytes0(0.0B)TXerrors0dropped0overruns0carrier0collisions0[[email protected]~]#

本例中体现了八个网卡ens32和ens33以及环回口lo的音讯,包蕴mtu,ip地址,掩码,mac地址,传输和收受数据量等等。
慎选-s显示精简的音讯:

[[email protected]~]#ifconfig-sens32IfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgens3215001199695100012000BMRU

如给ens33充实三个新地方10.0.1.4:

[[email protected]~]#ifconfigens33:010.0.1.4/24up[[email protected]~]#ifconfigens33:0ens33:0:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500     inet10.0.1.4netmask255.255.255.0broadcast10.0.1.255 ether00:50:56:a4:0a:09txqueuelen1000(Ethernet)命令中/24表明接口地址的掩码,up表示启用此接口。注意如果ip地址已经被使用,这里依然会被设置成功,但此地址被访问时,可能会有冲突。停用某接口:

[[email protected]~]#ifconfigens33:0down

假使急需长久扩展或涂改当前接口的地方,最棒直接编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33(其余系统换到对应文件)中IPADD瑞鹰字段,然后重启互联网systemctl
restart network或service network restart生效。

7、arp和arping

命令arp展现系统的arp缓存,命令arping给左邻右舍主机发送ARP请求。

[[email protected]~]#arp-a?(10.0.1.1)at68:8f:84:01:f1:ff[ether]onens33?(10.0.1.102)at00:50:56:a4:18:9a[ether]onens33?(10.0.1.254)at00:50:56:a4:a9:16[ether]onens33?(10.0.1.10)at00:50:56:a4:d2:e4[ether]onens33?(10.0.1.104)at00:50:56:a4:37:a7[ether]onens33

?表示不解域名,最终的网卡名代表arp表项对应的网络接口
如察觉某地点不牢固,可以利用arping测试该地方是还是不是为MAC地址争辩:

[[email protected]~]#arping10.0.1.252-Iens33ARPING10.0.1.252from10.0.1.254ens33Unicastreplyfrom10.0.1.252[00:50:56:A4:65:71]0.843msUnicastreplyfrom10.0.1.252[00:50:56:A4:0A:09]1.034ms

此间两条回来新闻中的MAC地址不一致,表达有两块网卡配置了同等的IP地址。选项-I钦命发送arp请求的网络接口。
假设刚好改变了网卡的IP地址,但上游设备(如交流机)的arp表项依然老的,能够行使arping来强制刷新:

[[email protected]~]#arping-c3-Iens33-s10.0.1.25410.0.1.1ARPING10.0.1.1from10.0.1.254ens33Unicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]19.466msUnicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]2.358msUnicastreplyfrom10.0.1.1[68:8F:84:01:F1:FF]24.305msSent3probes(1broadcast(s))Received3response(s)

-c内定发送arp请求次数,-s钦点源地址,最终的IP表示发送对象(这里是网关地址)。

8、route 呈现或改造路由表

[[email protected]~]#routeKernelIProutingtableDestinationGatewayGenmaskFlagsMetricRefUseIface10.0.1.00.0.0.0255.255.255.0U000ens33link-local0.0.0.0255.255.0.0U100200ens32link-local0.0.0.0255.255.0.0U100300ens33172.20.71.00.0.0.0255.255.255.0U000ens32192.168.78.010.0.1.104255.255.255.0UG000ens33

中间Destination表示目标网段或目的主机;Gateway表示网关地址;Genmask表示指标网段的掩码;Flags表示路由标记:U表示路由是启用(up)的、G表示网关;Metric表示目的相差,常常用跳数表示;Ref表示路由的引用数;Use代表路由查找计数;Iface表示此条路由的言语。
选料-n表示用数字方式展示指标网段
选料add和del表示增加或删除一条路由。
慎选-net和netmask表示钦定指标网段及掩码。
选拔gw表示内定网关。
挑选dev IF表示钦定出口网卡
如扩大一条到192.56.76.x的路由,使它的开口为ens32:

routeadd-net192.56.76.0netmask255.255.255.0devens32

如增添一条暗中同意路由,指明它的网关为10.0.1.1

routeadddefaultgw10.0.1.1

如扩张一条到172.20.70.0的路由,网关为10.0.1.2

routeadd-net172.20.70.0/24gw10.0.1.2

如剔除暗中认可路由

routedeldefault

9、telnet 提供远程登陆成效

出于telnet协议利用公开传输,在供给平安登入的条件中并不适用。今后常见用它来拓展网络服务的端口测试:

[[email protected]~]#telnet10.0.1.25180Trying10.0.1.251...Connectedto10.0.1.251.Escapecharacteris'^]'.^] #这里按了CTRL+],也可以按CTRL+C强行退出。telnet>quitConnectionclosed.

此处对方的80端口是敞开并同意通讯的。当对端端口未有开启时:

[[email protected]~]#telnet10.0.1.25181Trying10.0.1.251...telnet:connecttoaddress10.0.1.251:Noroutetohost

当对端拒绝连接时:

[[email protected]~]#telnet10.0.1.2518085Trying10.0.1.251...telnet:connecttoaddress10.0.1.251:Connectionrefused

10、ssh 远程登入程序

ssh[OPTIONS]...[[email protected]]hostname[command]

ssh的完备是Secure
Shell,在不安全的互联网主机间提供安全加密的通讯,目的在于替代别的中长途登陆协议。

[[email protected]~]#ssh10.0.1.253Theauthenticityofhost'10.0.1.253(10.0.1.253)'can'tbeestablished.ECDSAkeyfingerprintis96:bd:a3:a7:87:09:1b:53:44:4c:9b:b9:5f:b2:97:89.Areyousureyouwanttocontinueconnecting(yes/no)?yes#这里输入yesWarning:Permanentlyadded'10.0.1.253'(ECDSA)[email protected]'spassword:#这里输入密码Lastlogin:FriNov1109:04:012016from192.168.78.137[[email protected]~]##已登录

linux关于网络的一声令下介绍,linux网络相关命令汇总。当命令ssh后一向跟主机IP时表示使用暗中认可用户root登入,假诺是第三回登陆,须求承认增多该主机的证实key,当输入yes后,即会在本机/root/.ssh/known_hosts中追加一条该主机的笔录,下壹遍登入时就不要再行确认了。然后需求输入用户密码,通过验证之后,大家就赢得了目标主机的三个shell,大家就足以在那几个shell中推行命令了。
在新shell中输入exit就能够退回到原shell。
假设须求频仍登入某主机,但不想每一遍都输入密码,能够安装免密码登陆:

[[email protected]~]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):#回车Enterpassphrase(emptyfornopassphrase):#回车Entersamepassphraseagain:#回车Youridentificationhasbeensavedin/root/.ssh/id_rsa.#私钥Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.#公钥Thekeyfingerprintis:be:c3:d0:02:50:35:35:fe:60:d6:2f:26:96:f0:e1:[email protected]'srandomartimageis:+--[RSA2048]----+|...o.o||.oo||..*.||.*=.||..S+.||o=.o.||+E||o.||..|+-----------------+[[email protected]~]#[[email protected]~]#ssh-copy-id10.0.1.253/usr/bin/ssh-copy-id:INFO:attemptingtologinwiththenewkey(s),tofilteroutanythatarealreadyinstalled/usr/bin/ssh-copy-id:INFO:1key(s)rema[email protected]10.0.1.253'spassword:Numberofkey(s)added:1Nowtryloggingintothemachine,with:"ssh'10.0.1.253'"andchecktomakesurethatonlythekey(s)youwantedwereadded.[[email protected]~]#

里面命令ssh-keygen用来变化公钥私钥,选项-t指明密钥类型。之后接纳命令ssh-copy-id将公钥发送至目的主机,这里必要输入指标主机用户密码。然后就能够免密码登陆了:

[[email protected]~]#ssh10.0.1.253Lastlogin:FriNov1111:08:372016from10.0.1.254[[email protected]~]#

还足以因而ssh远程推行命令:

[[email protected]~]#ssh10.0.1.252"hostname"[email protected]'spassword:#输入密码idc-v-71252#显示命令结果[[email protected]~]##并不登录

要么手动将公钥拷贝至目的主机:

[[email protected]~]#cat/root/.ssh/id_rsa.pub|ssh10.0.1.252"cat->>/root/.ssh/authorized_keys"[email protected]'spassword:#输入密码[[email protected]~]#ssh10.0.1.252#免密登录Lastlogin:ThuNov1014:42:112016from192.168.78.135[[email protected]~]#

采用-p为报到内定端口:

[[email protected]]#ssh-p2210.0.1.252Lastlogin:FriNov1111:44:312016from10.0.1.254[[email protected]~]#

端口设置在服务端配置文件/etc/ssh/sshd_config中,私下认可端口号为22,如改换需将#Port
22去掉注释并将22变动为索要的端口,然后重启sshd服务service sshd
restart或systemctl restart sshd。
倘使须要动用别的的用户登入体系则实施ssh
[email protected]
小编们能够用tar命令结合ssh和管道,将地面(远程)文件备份到长途(本地):

tarzc/home/temp|[email protected]"tarxz"#本地temp目录备份到远程[email protected]"tarcz/home/temp"|tarxz#远程temp目录备份到本地

选项-L [bind_address:]port:host:hostport设置本地端口转载

[[email protected]~]#ssh-L2222:10.0.1.252:2210.0.1.253Lastlogin:MonNov1410:34:432016from10.0.1.254[[email protected]~]##注意如果这里exit断开连接,则此转发也将终止。

此命令的情致是绑定本地端口2222,并将兼具发送至此端口的数码通过中间主机10.0.1.253转载至目标主机10.0.1.252的22端口,此时只要用ssh登陆本机的2222端口,则实在报到的是主机10.0.1.252

[[email protected]~]#ssh-p2222127.0.0.1Lastlogin:MonNov1410:34:562016from10.0.1.253[[email protected]~]#

这里暗中同意绑定的是本机的环回口127.0.0.1,如绑定到其它省点,则基于语法设置bind_address。
挑选-N代表不实践命令,只设置端口转载时有用
是因为上述端口转载命令ssh -L 2222:10.0.1.252:22
10.0.1.253会报到到中路主机,并且脱离后端口转载也会告一段落,使用-N选项将不会报到,再同盟shell后台施行,将会是三个没有错的设置端口转载的抉择(但要注意对中等主机须求免密码登入):

[[email protected]~]#ssh-N-L2222:10.0.1.252:2210.0.1.253&[1]12432[[email protected]~]#

指令最终的号子&表示此命令将要后台推行,再次回到的音信中[1]表示后台命令编号,12432表示命令的PID。(关于shell后台命令,今后的稿子中会有描述)
选项-R [bind_address:]port:host:hostport 设置远程端口转载
如我们在10.0.1.253上实行:

ssh-R2222:10.0.1.252:2210.0.1.254

然后在10.0.1.254上登录:

[[email protected]~]#ssh-p2222localhostLastlogin:MonNov1410:40:442016from10.0.1.253[[email protected]~]#

此地的意趣是使长途主机10.0.1.254(绝对10.0.1.253以来)监听端口2222,然后将富有发送至此端口的数额转载至指标主机10.0.1.252的端口22。之后再在10.0.1.254登陆本地(localhost)的2222端口时,实际通过中间主机10.0.1.253记名指标主机10.0.1.252。
挑选-o OPTION钦定计划文件(如/etc/ssh/sshd_config)内选项
如制止第一遍登入时输入yes确认,可扩张-o StrictHostKeyChecking=no。

11、scp 远程复制文件

scp[OPTIONS]...[[[email protected]]host1:]file1...[[[email protected]]host2:]file2

scp命令通过ssh协议将数据加密传输,和ssh登入类似,要求输入远程主机用户密码。
如将远程主机10.0.1.253汉语件/root/tcp.sh复制到本地当前目录下:

[[email protected]~]#[email protected]:/root/a.txt./ro[email protected]'spassword:a.txt100%1250.1KB/s00:00[[email protected]~]#

命令会彰显传输状态(传输百分比,大小,速度,用时)。
将地点文件复制到远程无非是将源和目标交换个方式置。
分选-P钦命远端连接端口(ssh服务端口),-o ssh_option使用ssh选项。
选择-l limit传输限制速度,limit单位为Kbit/s。
和指令cp类似,选项-r表示复制目录,-p代表保留文件权限时期等

12、netstat 打字与印刷网络音讯

选料-a显示全数端口信息:

[[email protected]~]#netstat-aActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:ssh0.0.0.0:*LISTENtcp00localhost:smtp0.0.0.0:*LISTENtcp05210.0.1.254:ssh192.168.78.143:49583ESTABLISHEDtcp600[::]:commplex-main[::]:*LISTENtcp600[::]:4243[::]:*LISTENtcp600[::]:ssh[::]:*LISTENtcp600localhost:smtp[::]:*LISTENraw600[::]:ipv6-icmp[::]:*7raw600[::]:ipv6-icmp[::]:*7ActiveUNIXdomainsockets(serversandestablished)ProtoRefCntFlagsTypeStateI-NodePathunix2[ACC]STREAMLISTENING12807/run/systemd/privateunix2[ACC]STREAMLISTENING12815/run/lvm/lvmpolld.socketunix2[]DGRAM12818/run/systemd/shutdowndunix2[ACC]STREAMLISTENING16403/var/run/dbus/system_bus_socket....

这里只体现部分新闻
挑选-t呈现TCP连接新闻
慎选-n呈现IP地址而不开始展览域名转变
分选-p展现PID和程序名

[[email protected]~]#netstat-antpActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programnametcp000.0.0.0:220.0.0.0:*LISTEN1358/sshdtcp00127.0.0.1:250.0.0.0:*LISTEN2162/mastertcp05210.0.1.254:22192.168.78.143:49583ESTABLISHED12044/sshd:[email protected]:::5000:::*LISTEN17222/docker-proxytcp6       0      0 :::4243                 :::*                    LISTEN      16983/docker   tcp600:::22:::*LISTEN1358/sshdtcp600::1:25:::*LISTEN2162/master[[email protected]~]#

当中Proto表示协议(包蕴TCP、UDP等);Recv-Q和Send-Q表示收到和出殡和埋葬队列,一般都为0,假设非0则意味着本地的接受或发送缓存区有数据等待管理;Local
Address和Foreign
Address分别表示本地地址和远端地址;State表示连接情形,对应于TCP种种连接情形;PID/Program
name表示经过号和程序名。
慎选-l表示只展现状态为LISTEN的连日

[[email protected]~]#netstat-ntlActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:220.0.0.0:*LISTENtcp00127.0.0.1:250.0.0.0:*LISTENtcp600:::5000:::*LISTENtcp600:::4243:::*LISTENtcp600:::22:::*LISTENtcp600::1:25:::*LISTEN[[email protected]~]#

分选-u代表展现UDP连接音讯
挑选-r代表展现路由音信

[[email protected]~]#netstat-rKernelIProutingtableDestinationGatewayGenmaskFlagsMSSWindowirttIfacedefault10.0.1.1030.0.0.0UG000ens3310.0.1.00.0.0.0255.255.255.0U000ens33172.20.71.00.0.0.0255.255.255.0U000ens32192.168.78.010.0.1.104255.255.255.0UG000ens33

慎选-i呈现接口音讯

[[email protected]~]#netstat-iKernelInterfacetableIfaceMTURX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlgens3215001319610707703246000BMRUens3315002531238808802516050000BMRUlo6553625035890002503589000LRU

13、tcpdump 网络抓包工具

命令tcpdump捕获某网络接口符合表达式expression的数据包,并打字与印刷出多少包内容的讲述音信。
挑选-i钦赐网卡:

[[email protected]~]#tcpdump-iens33tcpdump:verboseoutputsuppressed,use-vor-vvforfullprotocoldecodelisteningonens33,link-typeEN10MB(Ethernet),capturesize65535bytes15:41:59.121948IP10.0.1.108.3693>239.100.1.1.websm:UDP,length5815:41:59.122191IP10.0.1.109.35673>239.100.1.1.websm:UDP,length5715:41:59.128282IP10.0.1.253.ssh>192.168.78.143.51694:Flags[P.],seq749565300:749565496,ack3522345564,win255,length19615:41:59.134127IP192.168.78.143.51694>10.0.1.253.ssh:Flags[.],ack196,win3977,length015:41:59.140319ARP,Requestwho-has10.0.1.31tell10.0.1.102,length4615:41:59.168328ARP,Requestwho-has10.0.1.37tell10.0.1.102,length4615:41:59.262235ARP,Requestwho-has192.168.10.150tell192.168.10.151,length4615:41:59.622090IP10.0.1.108.3693>239.100.1.1.websm:UDP,length5815:41:59.622178IP10.0.1.109.35673>239.100.1.1.websm:UDP,length57....

开发银行命令之后显得出能够利用-v或-vv显示更详细的音信,开头从ens33破获数据包。输出显示出各样发送或接收数据单肩包头音信(包涵ARP、IP、TCP、UDP等等协议)。此命令并未有钦定expression,所以暗中同意将捕获全体数据包。
要是急需将数据包捕获然后透过其它程序(如wireshark)剖析,能够动用采取-w
file将数据写入文件,同期还要求使用选择-s
0钦定能够捕获的多少包大小为65535字节,以免止数据包被截断而一筹莫展被深入分析。
真实景况中,流经网卡的数目包量是宏大的。能够接纳表明式来对数据包进行过滤,对于每一个数据包,都要经过表明式的过滤,唯有表达式的值为true时,才会输出。
expression中能够涵盖一到两个根本字钦点的规格,能够运用and(或&&)、or(或||)、not(或!)和括号()表示各类显要字间的逻辑关系,可以用>、<表示相比,还足以拓展总括。在那之中主要字总结:
type类型关键字,如host、net、port和portrange,分别表示主机、网段、端口号、端口段。
direction方向珍视字,如src、dst分别表示源和指标。
proto共同商议主要字,如fddi、arp、ip、tcp、udp等分别表示种种网络协议。
是因为篇幅所限,上边包车型客车例证中将只描述选项和表明式所起到的意义,不再解释输出内容:

tcpdump-iens33dsthost10.0.1.251#监视所有从端口ens33发送到主机10.0.1.251的数据包,主机也可以是主机名tcpdump-ieth0host!211.161.223.70and!211.161.223.71anddstport80#监听端口eth0,抓取不是来自或去到主机211.161.223.70和211.161.223.71并且目标端口为80的包tcpdumptcpport23host210.27.48.1#获取主机210.27.48.1接收或发出的telnet包tcpdump'tcpport80and(((ip[2:2]-((ip[0]&0xf)<<2))-((tcp[12]&0xf0)>>2))!=0)andsrcnet(183.60.190or122.13.220)'-s0-ieth0-wipdump#抓取源或目的端口是80,且源网络是(183.60.190.0/24或者122.13.220.0/24),并且含有数据,而不是SYN,FIN以及ACK-only等不含数据的TCP数据包写入文件ipdump#注意这里表达式使用单引号引起来以避免其中的特殊字符被shell解析而造成语法错误tcpdump'tcp[tcpflags]&(tcp-syn|tcp-fin)!=0and!srcanddstnet10.0.0'#只打印TCP的开始和结束包(SYN和FIN标记),并且源和目标网段均不是10.0.0.0/24tcpdump'gateway10.0.1.1andip[2:2]>576'#表示抓取发送至网关10.0.1.1并且大于576字节的IP数据包

互联网有关命令内容较多,希望能够帮到你。

原稿来自:

本文地址:

导读本文将讲述网络有关命令,我假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本…

CentOS常用网络铺排及操作

Linux系统中最常用的网络布局命令包括ifconfig、route,个中ifconfig用来查阅和布署网络接口(日常是网卡)新闻,包罗网络接口设备的IP
地址、掩码等;route用来管理Linux系统内核中的路由表,它最大的用途就是用来设定静态的路由表项,经常是在系统用ifconfig
配置网络接口后,用它来设定主机大概一网段的IP
地址应该经过什么样接口发送等。

第13章 Linux的互连网管理,第13章linux


本文目录:

13.1 Linux数据包转载功用

13.2 和互联网有关的多少个文件注解

13.2.1 网卡配置文件ifcfg-*

13.2.2 DNS配置文件/etc/resolve.conf

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

13.2.4 /etc/services

13.3 互联网接口配置和主机名

13.3.1 ifconfig

13.3.2 ifcfg

13.3.3 hostname命令

13.4 网关/路由

13.4.1 route命令

13.4.2 配置永世路由

13.5 arp和arping命令

13.5.1 arp命令

13.5.2 arping命令

13.6 ip命令

13.6.1 获取ip命令的提携

13.6.2 ip addr

13.6.3 ip route

13.6.4 ip link


 

在解说Linux互联网管理有关的内容时,小编感到有要求先表达多少包转载效率以及由此关系到的路由决策。然后再介绍网络安排命令和相关文件。

金沙注册送58 2

3.1.1 ifconfig

1``ifconfig 的语法为:

2``ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]

3````[[-]broadcast [<address>]]

4````[netmask <address>]

5````[up|down]

在那之中 interface 为网卡名,address 为IP 地址,broadcast
代表设置广播地址,其后的address 为广播地址的IP ,netmask
表示设置子网掩码,其后的address 为子网掩码的IP, up、 down
设置当前网卡的景况,up表示启用当前网卡,down 代表关闭当前网卡。

Ifconfig 的常用参数表明如下:

-a 查看全数网卡状态

-V 查看ifconfig 命令的版本音讯

-s 查看计算音讯

示例:

1) 将第一块网卡的 IP 地址设置为192.168.0.1:

1``ifconfig eth0 192.168.0.1 (格式: ifconfig 网络设备名 IP 地址)

2) 一时半刻关闭或启用网卡:

1``关闭第一块网卡: ifconfig eth0 down

2

3``启用第一块网卡 ifconfig eth0 up

3 )将首先块网卡的子网掩码设置为 255.255.255.0:

1``ifconfig eth0 netmask 255.255.255.0 (格式:ifconfig 网络设备名 netmask子网掩码)

大家也足以而且安装 IP 地址和子网掩码:

1``ifconfig eth0 192.168.0.1 netmask 255.255.255.0

4) 查看第一块网卡的情况:

1``ifconfig eth0

只要要查阅全部的网卡状态, 则直接利用不带参数的ifconfig 命令就可以。

ifconfig 输出的图景新闻是十分得力的,上面我们就轻便说美素佳儿下:

有多少个情景比较主要:

UP/DOWN :网卡是还是不是运转了,假设是DOWN的话,那自然不可能用的;

EnclaveX packets 中的errors 包的多少若是过大表明网卡在接到时不通常;

TX packets 中的errors 包的数额即便过大表达网卡在出殡和埋葬时卓殊;

13.1 Linux数据包转发效用

假定Linux主机有多块网卡,万一不开启数据包转载作用,则那个网卡之间是无力回天互通的,除非它们是同网段地址。比如eth0是172.16.10.0/24网段,而eth1是192.168.100.0/24网段,达到该Linux主机的数目包不也许从eth0交给eth1要么从eth1交给eth0,除非Linux主机开启了数码包转载功效。那是和路由器设备差异的地点,路由器本质就是跨网段转发数据包,所以路由器设备暗许都以开启了转载功用的

在Linux上展开转载功用有多种方式:

shell> echo 1 > /proc/sys/net/ipv4/ip_forward
shell> sysctl -w net.ipv4.ip_forward=1

如上两种艺术是临时生效的,若要永远生效,则应该写入配置文件。在CentOS
6中,将/etc/sysctl.conf文件中的”net.ipv4.ip_forward”值改为1就能够,但在CentOS
7中,systemd管理了太多的功用,sysctl的安顿文件也差别为三个,包含/etc/sysctl.conf、/etc/sysctl.d/*.conf和/usr/lib/sysctl.d/*.conf,并且这一个文件中私下认可都并未net.ipv4.ip_forward项。当然,直接将此项写入到这几个布署文件中也都以能够的,提议写在/etc/sysctl.d/*.conf中,这是systemd提供自定义内核修改项的目录。举个例子:

shell> echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/ip_forward.conf

能够动用以下两种格局查看是或不是张开了转发成效。

[[email protected] ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
0

[[email protected] ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 0
net.ipv4.ip_forward_use_pmtu = 0

除此以外,IP地址是属于基本的(不仅仅如此,整个tcp/ip协议栈都属于基本,包涵端口号),只要能和里面多个地方通讯,就会和另二个地址通讯,而无论是是还是不是张开了数据包转载功能。譬喻说某Linux主机有两网卡eth0:172.16.10.5和eth1:192.168.100.20,某192.168.100.22主机网关指向192.168.100.20,若它ping
172.16.10.5,结果将是通的,因为地址属于基本,从eth1跻身的数目包被内核分析时,开掘目的地址为本机地址,直接就应对192.168.100.22,回应数据包继续从eth1出去,除非路由明确设置了不走eth1。

下图是Linux主机通讯机制。假若该主机有两块网卡eth0和eth1,并且它们属于不相同网段。

依据上海体育地方,假使网段1的主机ping ip_addr1或ping
ip_addr2,数据包从eth0进入,内核深入分析该数据包,发掘数据包的最后目的是本机上的ip地址,内核将拓展路由决定,一般的话,这类数据包的路由条约都会钦定从直连接口即eth0流出。即上海教室的石黄路径。

就算网段1主机能ping通ip_addr2,但数目包并未提交eth1。

假若网段1主机ping网段2主机,在ping的乞求数据包从eth0流入Linux主机时,内核将剖判该数据包,开掘数目包目的是网段2地址,依照路由表,那类数据包一般都会从直连接口eth1出去,所以eth0的数据包就要转给eth1,不过未开启转载功效,数据包到不了eth1,所以被取消。要是开启了数码包转载作用,上边的黑古铜色虚线和革命虚线将是连着的,数据包转载达到eth1接口,然后出来到网段2的主机上。

当今互联网确实是很首要的,linux系统中提供了丰盛的网络测试与处理命令。大家来壹只看看它们。

3.1.2route

route 命令的语法为:

1``route [-CFvnee]

2

3``route [-v] [-A family] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mod] [reinstate] [[dev] If]

4

5``route [-v] [-A family] del [-net|-host] target [gw Gw] [netmask Nm] [metricN] [[dev] If]

6

7``route [-V] [--version] [-h] [--help]

route 的常用参数表明如下:

-v 使用冗余输出方式。

-A family 钦定特定的地址族 (譬喻”inet” “inet6″)。

-n 使用数字展现的地点 举例202.38.75.75 而不是去解释域名。

-e 使用与netstat一样的出口格式。

-ee 参数会发生不长的出口, 包蕴内核路由表的大概具有音信。

-net 指标 (target) 是叁个网段。

-host指标 (target) 是壹个单身的主机。

-F 显示内核 FIB 路由表结果或许被-e 和-ee 参数退换。

-C 显示内核中路由缓存音信。

del 删除二个路由表项。

add 扩展三个路由表项。

Target 配置的指标网段大概主机 。能够是IP, 大概是互联网或主机名。

netmask Nm 用来指明要充分的路由表项的网络掩码。

gw Gw 任何通往目标 (target) 的IP 分组都要通过那个网关。

metric M 设置路由表中该项的尺度域( metric 田野) 为M。

示例:

1) 增多一条路由表项,网段192.168.0.x 应该从接口”eth0″走

1``route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0

2 )加多一条缺省路由

1``route add 0.0.0.0 gw 网关地址

一旦未有别的相配的路由项, 就利用那个路由规则。

3) 删除缺省路由

1``route del 0.0.0.0 gw 网关地址

4) route 命令的输出结果示例表明

输出的格式有以下几栏:

Destination 指标网段或然主机

Gateway 网关地址, 假诺未有设置,则是”*”表示

Genmask 互联网掩码

Flags 一些可能的号子如下:

U (路由是运动的)

H (指标是四个主机)

G (使用网关 (gateway))

揽胜极光 (reinstate route 动态路由产生的表项)

D (dynamically installed by daemon or redirect)

M (modified from routing daemon or redirect)

! (reject route)

Metric 路由距离。

Ref 路由项引用次数。( linux 内核中并未有利用)

Use 查找路由项的次数 。

Iface 该路由表项对应的输出接口。

13.2 和网络有关的多少个文件表明

内容如下:

3.2 互连网操作命令

Linux系统常用的互联网操作命令蕴含netstat、nslookup、hostfinger和ping。

netstat
命令的功力是显得网络连接、路由表和网络接口消息,能够让用户得知近些日子都有怎样互连网连接正在运作。nslookup命令的效应是询问一台机器的IP地址和其对应的域名。它一般须要一台域名服务器来提供域名服务,要是用户已经安装好域名服务器,就足以用这些命令查看差别主机的IP 地址对应的域名。host命令可依靠主机名查询主机的IP
地址或基于主机IP
地址询问主机名;finger命令的遵守是查询用户的音信,常常会来得系统中某些用户的用户名、主目录、停滞时间、登入时间、登入shell
等音信。ping 命令用于查看互连网上的主机是还是不是在办事。

1、ping 发送TCMP回显请求报文,并伺机再次回到TCMP回显应答。

3.2.1 netstat

netstat 命令的语法为:

netstat [选项]

netstat的常用参数表明如下:

-a 展现全部 socket 包罗正在监听的

-c 每隔 1 秒就再一次展现壹次直到用户中断它

-i 显示全数网络接口的消息格式同 “ifconfig –e”

-n 以互联网 IP 地址替代名称显示出互联网连接情况

-r 展现主旨路由表格式同 “route –e”

-t 展现 TCP 协议的连接景况

-u 展现 UDP 协议的总是处境

-v 显示正在张开的劳作

示例:

1 )在本机使用 netstat 命令,其出口为如下

1``Active Internet connections (w/o servers)

2

3``Proto Recv-Q Send-Q Local Address Foreign Address State

4

5``tcp 0 256 10.153.89.66:ssh 10.153.21.168:1054 ESTABLISHED

6

7``tcp 0 0 10.153.89.66:ssh 10.153.21.166:1222 ESTABLISHED

8

9``tcp 0 0 10.153.89.66:1521 10.153.21.166:2625 ESTABLISHED

10

11``tcp 0 0 10.153.89.66:1521 10.153.21.166:2623 ESTABLISHED

12

13``……

14

15``Active UNIX domain sockets (w/o servers)

16

17``Proto RefCnt Flags Type State I-Node Path

18

19``unix 9 [ ] DGRAM 919 /dev/log

20

21``unix 2 [ ] STREAM CONNECTED 50246124

22

23``unix 3 [ ] STREAM CONNECTED 3914245

24

25``/tmp/.ICE-unix/dcop18694-1074144356

26

27``unix 3 [ ] STREAM CONNECTED 3914244

28

29``unix 3 [ ] STREAM CONNECTED 3914127 /tmp/.X11-unix/X0

30

31``…..

13.2.1 网卡配置文件ifcfg-*

在/etc/sysconfig/network-scripts/目录下有相当多文本,绝大多数都以脚本类的文本,但有一类ifcfg开头的文书为网卡配置文件(interface
config),全体ifcfg起始的公文在开发银行互连网服务的时候都会被加载读取,但具体的文书名ifcfg-XX的XX能够私行命名。

以下是一个(CentOS 7上)ifcfg-XX文件的故事情节示例。

[[email protected] ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"      # 显示的名称,必须/sys/class/net/目录下的某个网卡名相同
IPV6INIT="no" 
BOOTPROTO="dhcp"
ONBOOT=yes 
TYPE="Ethernet"
DEFROUTE="yes"
PEERDNS="yes"      # 设置为yes时,此文件设置的DNS将覆盖/etc/resolve.conf,
                   # 若开启了DHCP,则默认为yes,所以dhcp的dns也会覆盖/etc/resolve.conf
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
NAME="System eth0"
DNS1=114.114.114.114
DNS2=8.8.8.8
DNS3=114.114.115.115

ping [OPTIONS]… destination

3.2.2 nslookup

nslookup 命令的功效是询问一台机械的IP
地址和其相应的域名。它日常要求一台域名服务器来提供域名服务。如果用户已经安装好域名服务器,就足以用这么些命令查看差别主机的IP
地址对应的域名。命令的语法为:

nslookup [IP 地址/域名]

示例:

在本机奉行 nslookup 命令

1``Default Server: name.tlc.com.cn

2

3``Address: 192.168.1.99

4

5``>

在符号“ >” 后边输入要查询的IP
地址或域名并回车就可以。假设要退出该命令,输入exit 并回车就可以。

13.2.2 DNS配置文件/etc/resolve.conf

该文件用于安装DNS指向,以及分析顺序。该文件格式如下:

domain  domain_name         # 声明本地域名,即解析时自动隐式补齐的域名
search  domain_name_list    # 指定域名搜索顺序(最多6个),和domain不能共存,若共存了,则写在后面的行生效
nameserver  IP1             # 设置DNS指向,最多3个
nameserver  IP2
nameserver  IP3        
options timeout:n attempts:n  # 指定解析超时时间(默认5秒)和解析次数(默认2次)

譬喻将/etc/resolve.conf设置为下所示,为了测试,一时半刻不安装nameserver。

domain malong.com

当深入分析不带点”.”的主机名时,如”www”,认为不是fqdn,将机关抬高”.malong.com”造成深入分析”www.malong.com”。

[[email protected] ~]# host -a www
Trying "www.malong.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

当剖析的称呼末尾不带点但中间带了点的,如”www.host”,认为是fqdn,将间接分析”www.host”,深入分析完这几个后再解析加上”malong.com”的称号,即再分析”www.host.malong.com”。

[[email protected] ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malong.com"
;; connection timed out; no servers could be reached

当深入分析末尾带点的名称时,如”www.host.”感觉是完全的fqdn,将直接深入分析”www.host”,剖析完后向来甘休解析,不会再补齐本地点名再解析。

[[email protected] ~]# host -a www.host.
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host"   # 默认解析两次
;; connection timed out; no servers could be reached

search关键字的效劳和domain是同样的,只然而search同一时间还暗含域名寻觅的相继。譬如设置search为如下内容:

search  malongshuai.com longshuai.com mashuai.com

那会儿若剖判”www.host”,将相继深入分析”www.host”,”www.host.malongshuai.com”,”www.host.longshuai.com”,”www.host.mashuai.com”。

[[email protected] ~]# host -a www.host
Trying "www.host"
;; connection timed out; trying next origin
Trying "www.host.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.host.longshuai.com"
;; connection timed out; trying next origin
Trying "www.host.mashuai.com"
;; connection timed out; no servers could be reached

[[email protected] ~]# host -a www
Trying "www.malongshuai.com"
;; connection timed out; trying next origin
Trying "www.longshuai.com"
;; connection timed out; trying next origin
Trying "www.mashuai.com"
;; connection timed out; trying next origin
Trying "www"
;; connection timed out; no servers could be reached

domain部分和search部分不能够存活,假若共存了,则后出现的行有效。

那边的对象destination可以是目的IP地址也许域名/主机名
选拔-c钦赐发送请求报文的次数,当ping未有其余取舍时,在linux中暗中同意将直接发送请求报文直到手动终止。

3.2.3 host命令

host 命令的效率基本与nslookup 相。同命令的语法为:

host [选项] [IP 地址/域名/主机名]

host 的常用参数如下:

-a 突显所查域名或IP 地址、域名或主机名的有关新闻。

示例:

1``[root]# host huawei-3com.com

2

3``huawei-3com.com has address 172.19.1.228

13.2.3 /etc/udev/rules.d/70-persistent-net.rules

当插入新的网络设施时,内核首先识别到,随后在sysfs文件系统(一般挂载在/sys下)中生成该装备对应的信息文件。然后内核公告udev的后台守护进度udevd(若不清楚它是什么样东西,请感到它是Windows系统中的设备管理器,管理和监视硬件设备),udevd将读取sysfs中对应配备的有关信息,并比对或生成udev的规则集,能相配上的则做相应的操作。对于网卡来讲,它的的规则集文件默以为/etc/udev/rules.d/70-persistent-net.rules,相配该规则集成功后,最后还在/sys/class/net目录中生成对应的设备子目录。

以下为多个网卡的平整集的源委:

[[email protected] ~]# cat /etc/udev/rules.d/70-persistent-net.rules 

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:a4", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:7f:cf:ae", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

实际的udev规则集语法并非本文内容,所以这边仅轻松表明下方面包车型大巴三个规则集。规则集文件的写法都是key/value格式,但分成匹配key/vaule和作为key/value。上述例子中,从SUBSYSTEM直到KE途睿欧NEL都以选用”==”号,表示特别key/value,最终三个NAME使用单”=”号,表示赋值key/value。所以上述文件的情致是:当/sys中的某器具各音信都能相称上述某条规则,则赋值该装置名称叫eth0或eth1,/sys/class/net目录下也由此名称命名设备音信的目录,ifcfg-*陈设文件中的DEVICE的值必须和它们同样

注意,互联网规则集文件会由基础检查实验到设备时自动生成或写入,由此清空它不会有其它影响

克隆虚拟机时,总是会现出MAC地址争辨,那是因为规则集文件和ifcfg配置文件都被克隆了,而新克隆出来的机器中MAC地址又是新的,所以会调换新的规则集,但克隆过来的ifcfg配置文件中的DEVICE值和该规则对应不上,导致克隆主机的互联网将开发银行不了。消除办法是清空该文件,然后重启克隆主机,那样基本将新生成对应新MAC地址的平整集文件。当然,在仿制前清空模板主机的规则集文件,然后再克隆也是能够的。

值得提的是,在CentOS
7中,systemd已经将udevd的效益整合在了协同,所以udev的条条框框集文件已经少见了,但却更方便人民群众了,克隆CentOS
7主机时,根本就不会现出MAC地址争论的也许,因为全数规则集都由内核生成在内部存储器中。可是,显式书写的规则集文件仍旧是一蹴而就的。

 [root@centos7 ~]# ping -c 3 www.baidu.com
 PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
 64 bytes from 61.135.169.121: icmp_seq=1 ttl=52 time=1.35 ms
 64 bytes from 61.135.169.121: icmp_seq=2 ttl=52 time=1.32 ms
 64 bytes from 61.135.169.121: icmp_seq=3 ttl=52 time=1.22 ms
 --- www.a.shifen.com ping statistics ---
 3 packets transmitted, 3 received, 0% packet loss, time 2003ms
 rtt min/avg/max/mdev = 1.225/1.303/1.359/0.064 ms

3.2.4finger

finger
命令的机能是查询用户的音讯,日常会显得系统中有些用户的用户名、主目录、停滞时间、登入时间、登陆shell
等音讯。假如要询问远程机上的用户音信,须要在用户名前面接“@主机名”选用[用户名@主机名]的格式,然而要查询的网络主机必要周转finger
守护进度。该命令的相似格式为:

finger [选项] [使用者] [用户@主机]

finger 的常用参数如下:

-s
展现用户的注册名、实际姓名、终端名称、写意况、停滞时间、登陆时间等音信。

-l 除了用-s 选项展现的消息外,还展现用户主目录、登入shell、
邮件状态等音讯,以及用户主目录下的.plan 、project 和.forward 文件的内容

-p 除了不展现.plan 文件和.project 文件以外与-l 选项一样

示例:

1 )展现用户 orcale 的音讯

1``finger oracle

其出示结果为

1``Login: oracle Name: (null)

2

3``Directory: /home/oracle Shell: /bin/bash

4

5``On since Fri Feb 6 16:26 (CST) on pts/1 from 10.153.21.166 33 seconds idle

6

7``On since Wed Feb 4 20:10 (CST) on pts/2 from 10.153.21.166 1 second idle

8

9``No mail.

10

11``No Plan.

13.2.4 /etc/services

该公文中著录的是端口和劳动的呼应关系。

[[email protected] ~]# grep '^ftp\|^ssh' /etc/services 
ftp-data        20/tcp
ftp-data        20/udp
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
ftp-data        20/sctp                 # FTP
ftp             21/sctp                 # FTP
ssh             22/sctp                 # SSH
ftp-agent       574/tcp                 # FTP Software Agent System
ftp-agent       574/udp                 # FTP Software Agent System
sshell          614/tcp                 # SSLshell
sshell          614/udp                 #       SSLshell
ftps-data       989/tcp                 # ftp protocol, data, over TLS/SSL
ftps-data       989/udp                 # ftp protocol, data, over TLS/SSL
ftps            990/tcp                 # ftp protocol, control, over TLS/SSL
ftps            990/udp                 # ftp protocol, control, over TLS/SSL
ssh-mgmt        17235/tcp               # SSH Tectia Manager
ssh-mgmt        17235/udp               # SSH Tectia Manager

率先,ping程序会向域名服务器(DNS)发送请求,剖析域名www.baidu.com的IP地址。DNS重回域名的三个小名www.a.shifen.com以及对应的IP地址61.135.169.121。之后ping程序起先向那么些地址发送请求报文,每1s出殡和埋葬多个,ping收到TCMP回显应答并将结果突显在巅峰上,包蕴ICMP种类号(icmp_seq),生存时间(ttl)和数码包往返时间(time)。最后,给出汇总信息,包蕴报文化总同盟收发情形,总时间,往返时间非常的小值、平均值、最大值、平均偏差(越大表达互连网越不安静)。

3.2.5Ping命令

ping 命令用于查看互连网上的主机是或不是在做事,它向该主机发送ICMPECHO_REQUEST
包。一时我们想从网络上的某台主机上下载文件,可是又不亮堂那台主机是或不是开着,就供给动用ping
命令查看。该命令的一般格式为:

ping [选项] [主机名/IP地址]

ping 的常用参数如下:

-c 数目 在发送钦点数量的包后终止

-d 设定 SO_DEBUG 的选项

-f 大批量且异常快地送网络封包给一台机械看它的回答

-I 秒数 设定间隔几秒送一个网络封包给一台机器预设值是一秒送一次

-l 次数 在内定次数内以最快的点子送封包数据到钦定机器
(唯有一级用户能够使用此选项)

-q 不显得其余传送封包的音讯只显示最终的结果

-r 不经由网关而一贯送封包到一台机械经常是翻开本机的网络接口是或不是有标题

-s 字节数 内定发送的多寡字节数, 预设值是56, 加上8
字节的ICMP头,一共是64ICMP 数据字节

13.3 网络接口配置和主机名

[root@centos7 ~]# ping www.a.com
ping: unknown host www.a.com

3.3 常用互联网铺排文件介绍

在 Linux 系统中,TCP/IP
网络是通过若干个文件文件进行配备的,须求编写制定那一个文件来产生联网职业。系统中根本的有关互联网布局文件为:

1``/etc/sysconfig/network

2

3``/etc/hosts

4

5``/etc/services

6

7``/etc/host.conf

8

9``/etc/nsswitch.conf

10

11``/etc/resolv.conf

12

13``/etc/xinetd.conf

14

15``/etc/modules.conf

16

17``/etc/sysconfig/network-scripts/ifcfg-ethN

接下去大家将对这个文件相继讲述,
那些文件都能够在系统运维时开始展览改换,不用运维只怕结束任何守护程序,改动会马上见效(
除了/etc/sysconfig/network)。
其余,那几个文件都辅助由”#”初始的注释,每三个文书都有在UNIX手册页中的第5
部分中有一项,能够用man 命令来获取它们。

13.3.1 ifconfig

该命令即使在man文档中被注脚已放任,但公众旗帜明显不恐怕忘记它。ifconfig命令是二个接口配置命令,但更加的多的被用来展现已激活的网络接口音信。

ifconfig [ interface | -a ]
ifconfig interface options

选项说明:
interface:指定被操作的网络接口名,如eth0
up       :激活指定的网络接口,如果在命令行中为网络接口分配了IP地址,则默认会up
down     :将指定的接口设置为down状态
[-]arp   :启用或禁用该接口上使用ARP协议,如"ifconfig eth0 -arp"
mtu N    :设置指定接口的最大传输单元(MTU)
netmask  :设置该接口的IP netmask,默认会采用A/B/C类地址的掩码位数
address  :要分配给该接口的IP地址

ifconfig示例:

[[email protected] ~]# ifconfig eth0:1 192.168.100.20 netmask 255.255.255.0 up  # 添加IP地址
[[email protected] ~]# ifconfig eth0:1 192.168.100.20/24 up                     # 使用CIDR格式的掩码也可以
[[email protected] ~]# ifconfig eth1 up       # 激活该网络接口
[[email protected] ~]# ifconfig eth1 down     # 临时down掉eth1接口
[[email protected] ~]# ifconfig eth1 -arp     # 抑制eth1上的arp
[[email protected] ~]# ifconfig eth1 arp      # 启用eth1上的arp

内需注意的是,ifconfig全体的布局都是行使于内核的,所以只会临时生效,重启网络服务后会登时失效。

对此slave地址,即外号地址,若要恒久生效,应该创造相应的别称接口配置文件,如/ets/sysconfig/network-scripts/ifcfg-eth0:0,然后在该文件中的DEVICE关键字上给定eth0:0名称,该DEVICE项必须配备不错。

当指标域名不可能剖析出IP地址时,会报未知主机的错

3.3.1 /etc/sysconfig/network 互连网设置

该公文用来钦命服务器上的互联网布署消息,
包括了调整和网络关于的文本和医生和医护人员程序的表现的参数。上边是三个例子文件:

1``NETWORKING=yes

2

3``HOSTNAME=machine1

4

5``GATEWAY=210.34.6.2

6

7``FORWARD_IPV4=yes

8

9``GATEWAYDEV=

当中, NETWO卡宴K=yes/no 表示互连网是或不是被安排;

HOSTNAME=hostname hostname 表示服务器的主机名;

GATEWAY=gw-ip gw-ip 表示网络网关的IP 地址;

FORWARD_IPV4=yes/no 是不是展开IP 转载成效;

GAREWAYDEV=gw-dev gw-dw 表示网关的配备名,如:eth0 等;

13.3.2 ifcfg

用法异常的粗略。

ifcfg DEV [[add|del [ADDR[/LEN]] | stop]
       add - add new address
       del - delete address
       stop - completely disable IP

例如:

[[email protected] ~]# ifcfg eth1:0 add 192.168.100.20/24   # 添加一个地址
[[email protected] ~]# ifcfg eth1:0 del 192.168.100.20      # 删除一个地址
[[email protected] ~]# ifcfg eth1 stop      # 临时禁用eth1
[root@centos7 ~]# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
^C       #这里按CTRL+C键手动终止了进程
--- 192.168.0.1 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 4999ms

3.3.2 /etc/hosts IP 地址和主机名的酷炫

/etc/hosts 中富含了IP
地址和主机名之间的投射还,包罗主机名的别称IP,地址的布置使Computer轻便辨别,但对于人却很难记住它们,为了缓和这一个主题素材,创造了/etc/hosts
那么些文件。下边是八个例证文件:

1``127.0.0.1 machine1 localhost.localdomain localhost

2

3``192.168.1.100 machine7

4

5``192.168.1.101 otherpc otheralias

在那么些事例中 ,本机名是machine1, otherpc 还或者有小名otheralias
,它能够指向otheralias。
一旦配置完机器的网络铺排文件,应该再一次开动网络以使修改生效,使用上面包车型客车吩咐来再度启航网络:

1``service network restart

/etc/hosts 文件一般含有主机名、localhost
和系统一管理理员平日应用的系统外号,一时候telnet到Linux
机器要等待十分短日子,可以通过在”/etc/hosts”出席客户的机器的IP
地址和主机名的相称项,就足以减掉登陆等待时间。在平素不域名服务器意况下,系统上的全数网络程序都由此询问该公文来剖判对应于某些主机名的IP
地址,不然,别的的主机名常常使用DNS 来化解,DNS
客户部分的安插在文件/etc/resolv.conf 中。

当指标IP地址未有路由时不会收取任何ICMP回显报文

3.3.3 /etc/services

/etc/services
中包括了劳动名和端口号之间的投射,相当多的系统程序要选拔那些文件,上面是RedHat
安装时缺省的/etc/services 中的前几行:

查看源代码打字与印刷扶助

1``tcpmux 1/tcp # TCP port service multiplexer

2

3``echo 7/tcp

4

5``echo 7/udp

6

7``discard 9/tcp sink null

8

9``discard 9/udp sink null

10

11``systat 11/tcp users

最右边一列是主机服务名 ,中间一列是端口号,“/ ”前面是端口类型, 能够是TCP
也足以是UDP
。任何前边的列皆此前方服务的别称。在这么些文件中也存在着小名,它们出现在端口号前面,在上述例子中sink
和null 都以discard服务的外号。

Linux系统中最常用的互联网安顿命令包含ifconfig、route,其中ifconfig用来查阅和安插网络接口(平时是网卡)音信,包…

13.3.3 hostname命令

用以安装主机名,但也许有多少个其余好用的作用。

hostname [-I] [-f] [-d] [-s] [hostname]

选项说明:
-I         :获取该主机上所有非环回IP地址,该选项不依赖于主机名解析
-f,--fqdn  :获取fqdn
-d,--domain:获取fqdn的域名部分,等价于命令dnsdomainname
-s,--short :获取fqdn的主机名部分,严格地说是获取第一个"."前的部分,例如"www.baidu.com"将获取为"www"

使用-I选项能够一直得到该主机上的全部IP地址,包含别称地址,那在少数时候太方便了。

[[email protected] ~]# hostname -I
192.168.100.54 172.16.10.10

hostname修改的主机名字为不常生效,它修改的莫过于是/proc/sys/kernel/hostname文件。

[[email protected] ~]# cat /proc/sys/kernel/hostname
xuexi.longshuai.com

虽说在man文书档案中说有个长久有效的选取(-b),但测试时却毫无效果。要想恒久生效,要求修改配置文件/etc/hostname(CentOS
7)或/etc/sysconfig/network(CentOS 6)。譬如在CentOS 7上:

[[email protected] ~]# echo "ma.longshuai.com" >/etc/hostname
[root@centos7 ~]# ping -c2 10.0.1.2
PING 10.0.1.2 (10.0.1.2) 56(84) bytes of data.
From 10.0.1.254 icmp_seq=1 Destination Host Unreachable
From 10.0.1.254 icmp_seq=2 Destination Host Unreachable
--- 10.0.1.2 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms
pipe 2

13.4 网关/路由

Linux上分为3种路由:

  • 长机路由:直接指明到某台具体的主机怎么走,主机路由也正是所谓的静态路由
  • 网络路由:指明某类互联网怎么走
  • 默许路由:不走主机路由的和互连网路由的就走暗中认可路由。操作系统上设置的默许路由一般也叫做网关。

若Linux上到某主机有多条路由得以选拔,那时候会选用优先级高的路由。在Linux中,路由条目款项标优先级分明方式是先相配掩码位长度,再相比较管理距离。约等于说,掩码位长的路由条款优先级一定比掩码位短的事先级高,所以主机路由的优先级最高,然后是直连互连网(即同网段)的路由(也好不轻便互联网路由)次之,再是互联网路由,最后才是暗中同意路由。若路由条指标掩码长度一样,则相比节点之间的田间管理距离,管理距离短的生效。

譬喻上面包车型地铁路由表中,若ping
192.168.5.20,则先比对192.168.100.78意识十分小概合作,然后比对192.168.100.0,开掘也无从协作,接着再协作192.168.0.0那条互连网路由条约,发掘能相称,所以选用该路由条目。

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

再举个例子上面包车型大巴路由表。由于两块网卡eth0和eth1都是192.168.100.0/24网段地址,所以它们的路由条款在掩码长度的相配上是毫无二致的,可是和eth0直连的网段主机通讯时,明确会挑选eth0这条路由条款,因为eth1和该网段主机隔了贰个eth0,距离扩充了1。

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     101    0        0 eth1

当有指标IP的路由但不能够达到规定的标准时显示指标不可达错误(Destination Host
Unreachable)。
ICMP回显应答还包含超时(request time out)等其余项目。

13.4.1 route命令

route命令用于突显和治本路由表。当使用了add或del选项时,route命令将设置路由条约,不然route命令将显示路由表。

要展现路由表音信,只需轻松的route -n就能够,当中-n选项表示不解析主机名。

例如:

[[email protected] ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.100.2   0.0.0.0         UG    100    0        0 eth0
172.16.10.0     0.0.0.0         255.255.255.0   U     100    0        0 eth1
192.168.0.0     192.168.100.70  255.255.0.0     UG    0      0        0 eth0
192.168.100.0   0.0.0.0         255.255.255.0   U     100    0        0 eth0
192.168.100.78  0.0.0.0         255.255.255.255 UH    0      0        0 eth0

对于CentOS
6以上的种类,请忽略Metric和Ref两列,它们已经不被基本使用,只是有些路由软件恐怕会用上。

对此Flags列,假如没有安装路由软件,则只大概现身下边包车型大巴3种值:

U (route is up)

H (target is a host)

G (use gateway,也便是设置了下一跳的路由条约)

若要管理路由表,则选择add或del选项。

route [add/del] [-host/-net/default] [address[/mask]] [netmask] [gw] [dev]

选项说明:
add/del:增加或删除路由条目
-net:增加或删除的是一条网络路由
-host:增加或删除的是一条主机路由
default:增加或删除的是一条默认路由
netmask:明确使用netmask关键字指定掩码,要可以不使用该选项直接在地址上使用cidr格式的掩码,即IP/MASK。
gw:指定下一跳的地址。要求下一跳地址必须是能到达的,且一般是和本网段直连的接口。
dev:强制将路由条目关联到指定的接口上。一般内核会自动判断路由条目应该关联到哪个网络接口。

例如:

(1).增加和删除暗中认可路由

shell> route add default gw 192.168.100.10
shell> route del default
shell> route del default gw 192.168.100.10   # 若有多条默认路由,则再加上gw即可唯一删除指定路由条目

因为暗许路由的目标地是0.0.0.0,所以操作暗中认可路由也得以接纳0.0.0.0取代default关键字,但那样就劳动的多了。

(2).增加和删除互联网路由

shell> route add -net 172.16.10.0/24 gw 192.168.100.70
shell> route add -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70

若实在不知情下一跳给什么人,那么钦命本机接口也是足以的。

shell> route add -net 172.16.10.0/24 dev eth0

去除路由得以一向在追加路由的言语旅长add改为del关键字。如

shell> route del -net 172.16.10.0/24 gw 192.168.100.70
shell> route del -net 172.16.10.0 netmask 255.255.255.0 gw 192.168.100.70
shell> route del -net 172.16.10.0/24 dev eth0

但大诸多时候,能够偷懒,只要能唯一鲜明删除的是哪条路由就能够。如:

shell> route del -net 172.16.10.0/24

(3)加多和删除主机路由

shell> route add -host 172.16.10.55 gw 192.168.10.20
shell> route del -host 172.16.100.55

2、hostname呈现或安装系统主机名

13.4.2 配置长久路由

基于接口创立路由安排文件/etc/syconfig/network-scripts/route-ethX,要从十分接口出去X正是几。

路由配置文件的配备格式非常轻松,每一行二个路由条目款项,先是要达到的对象,然后是via关键字,最终是下一跳地址。要求下一跳必须能达到,且一般都和ethX同网段。

DEST    via     nexthop

比如eth0网卡的IP地址是192.168.10.123,要透过网卡eth0出去到达10.0.0.10,那么下一跳的地方要和eth0的地点在同网段,如192.168.10.222。

10.0.0.0 via 192.168.10.222

route-ethX文件的还会有其它一种永恒路由的布署写法,但上边包车型地铁主意更简约快捷,所以这里就非常少说了。

hostname [OPTIONS]… [NAME]

13.5 arp和arping命令

护卫或查看系统arp缓存,该命令已抛弃,使用ip neigh替代。

arp为地址深入分析协议,将加以的ipv4地址在网络中检索其相应的MAC地址。

诚如会使用arp协议获得局域网内的主机MAC,所以局域网主机之间也互称为互连网邻居。

直接试行命令hostname时将显得主机名:

13.5.1 arp命令

arp命令语法:

arp -n -v -i           # 查看arp缓存
arp -i -d hostname     # 删除arp缓存条目

选项说明:
-n:不解析ip地址为名称
-v:详细信息
-i:指定操作的接口
-d:删除一个arp条目

hostname:操作该主机的arp条目款项,除了剔除还应该有其余动作,如手动增加主机的arp条目款项,此处就不解释该用法了

例如:

[[email protected] ~]# arp -n
Address                  HWtype  HWaddress           Flags Mask            Iface
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth0
192.168.100.70           ether   00:0c:29:71:81:64   C                     eth0
192.168.100.1            ether   00:50:56:c0:00:08   C                     eth0
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth1
192.168.100.254          ether   00:50:56:e7:e1:d4   C                     eth1
192.168.100.2            ether   00:50:56:e2:16:04   C                     eth0

骨子里查看的音讯是/proc/net/arp文件中的内容。

[[email protected] ~]# cat /proc/net/arp
IP address       HW type     Flags       HW address            Mask     Device
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth0
192.168.100.70   0x1         0x2         00:0c:29:71:81:64     *        eth0
192.168.100.1    0x1         0x2         00:50:56:c0:00:08     *        eth0
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth1
192.168.100.254  0x1         0x2         00:50:56:e7:e1:d4     *        eth1
192.168.100.2    0x1         0x2         00:50:56:e2:16:04     *        eth0

[[email protected] ~]# arp -d 192.168.100.70 -i eth0   # 删除arp缓存条目

arp命令二回只可以删除一条arp条文,要批量刨除或清空整个arp条款,使用ip
neigh flush命令。如:

[[email protected] ~]# ip neigh flush all            # 清空所有
[[email protected] ~]# ip neigh flush dev eth0     # 删除eth0上缓存的arp条目
[root@centos7 temp]# hostname
centos7
[root@centos7 temp]#

13.5.2 arping命令

arping用于发送arp请求报文,深入分析并获取目的地方的MAC。暗中认可将头阵送广播报文,收到回复后再发送单播报文,局域网内全数主机都能接受广播报文,但唯有指标主机才会东山复起自个儿的MAC地址。

瞩目:发送arp请求报文实际上是另类的ping,所以能够探测指标是或不是存活,也亟需和目的通讯,通讯时指标主机上也会缓存本主机(即源地址)的arp条约。

语法:

arping [-fqbDU] [-c count] [-w timeout] [-I device] [-s source] destination
-f : 收到第一个reply就立即退出
-q : 安静模式,什么都不输出
-b : 只发送广播,不发送单播
-D : 地址冲突检测
-U : 主动更新邻居的arp缓存(Unsolicited ARP mode)
-c count : 发送多少个arp请求包后退出
-w timeout : 等待reply的超时时间
-I device : 使用哪个接口发送请求包。发送arp请求包接口的MAC地址将缓存在目标主机上
-s source : 指定arp请求报文中源地址,若发送的接口和源地址不同,则目标主机将缓存该地址和接口的MAC地址,而非该源地址所在接口的MAC地址
 destination : 向谁发送arp请求报文,即要获取该IP或主机名的MAC地址

例如:

(1).请求分析192.168.100.70主机的MAC地址

[[email protected] ~]# arping -f 192.168.100.70

那将会发送广播报文,直到收到192.168.100.70的东山复起才脱离。

再正是,192.168.100.70也会缓存本机的IP和MAC对应条目款项,由于此处未有一点名请求报文的殡葬接口和源地址,所以发送报文时是依附路由表来接纳接口和对相迎接口地址的。

(2).钦定发送贰个呼吁报文给192.168.100.70就退出,发送报文的接口为eth1,并钦定请求报文中的源地址为本机eth0接口上的地点192.168.100.54

[[email protected] ~]# arping -c 1 -I eth1 -s 192.168.100.54 192.168.100.70

发送那样的arp请求包,将会使得目的主机192.168.100.70缓存本机的arp条目款项为”192.168.100.54
MAC_eth1″,但实际上,192.168.100.54所在接口的MAC地址为MAC_eth0。

arping命令仅能落实这种简单的arp欺诈,越来越多的arp诈骗方法能够行使特地的工具。

(3).探测对方主机是不是存活

举个例子发送4个探测报文,有还原就证实对方存活

[[email protected] ~]# arping -c 4 -I eth0 192.168.100.2  
ARPING 192.168.100.2 from 192.168.100.54 eth0
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.593ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.930ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.868ms
Unicast reply from 192.168.100.2 [00:50:56:E2:16:04]  0.844ms
Sent 4 probes (1 broadcast(s))
Received 4 response(s)

足见发送了4个探测报文,当中第一个报文是广播报文,并且吸收接纳了4个回复。

本条主机名是系统的gethostname(2)函数再次回到的。
能够通超过实际践命令hostname NAME来不时改动主机名:

13.6 ip命令

那是三个极端庞大的吩咐,前边全数的互连网音讯展现和管制的下令,都足以由ip命令来代替完成。它是贰个严刻方式化的通令。

[root@centos7 temp]# hostname NAME
[root@centos7 temp]# hostname
NAME

13.6.1 获取ip命令的提携

先简单表达下ip命令的底蕴和获得协助的点子。

[[email protected] ~]# ip -h

Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
                   tunnel | tuntap | maddr | mroute | mrule | monitor | xfrm |
                   netns | l2tp | tcp_metrics | token }
       OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
                    -h[uman-readable] | -iec |
                    -f[amily] { inet | inet6 | ipx | dnet | bridge | link } |
                    -4 | -6 | -I | -D | -B | -0 |
                    -l[oops] { maximum-addr-flush-attempts } |
                    -o[neline] | -t[imestamp] | -b[atch] [filename] |
                    -rc[vbuf] [size] | -n[etns] name | -a[ll] }

看得出命令极其复杂,有大多options,还会有好些个object,每一种Object又对应不一样的命令。但其实能用到的就多少个object:addr/route/neigh/link。

动用ip object help能够收获到该object的语法支持。比如:

[[email protected] ~]# ip addr help

在ip命令行下,任何object都能够写其姓名,也得以写其缩写名,比方address这些object,能够简写为addr,也得以简写为贰个字母a

[[email protected] ~]# ip a help      # 等价于ip address help和ip addr help

固然还会有一个a开始的object为addrlabel。这时因为ip会从上述语法给出的object顺序在此从前向后十三分,比方”ip
m”将同盟到”ip maddr”,要是想相称别的,如addrlabel,则写长一些就能够”ip
addrl”。

对于CentOS 6,man
ip时会输出整个ip的支持文书档案,包蕴各类object的下令和验证。在CentOS
7中,则要对各样object独立举行man,举个例子addr那些object。

[[email protected] ~]# man ip-address

以下是独具Object的man列表。

[[email protected] ~]# rpm -ql iproute | grep "man8/ip-"
/usr/share/man/man8/ip-address.8.gz
/usr/share/man/man8/ip-addrlabel.8.gz
/usr/share/man/man8/ip-l2tp.8.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/ip-maddress.8.gz
/usr/share/man/man8/ip-monitor.8.gz
/usr/share/man/man8/ip-mroute.8.gz
/usr/share/man/man8/ip-neighbour.8.gz
/usr/share/man/man8/ip-netconf.8.gz
/usr/share/man/man8/ip-netns.8.gz
/usr/share/man/man8/ip-ntable.8.gz
/usr/share/man/man8/ip-route.8.gz
/usr/share/man/man8/ip-rule.8.gz
/usr/share/man/man8/ip-tcp_metrics.8.gz
/usr/share/man/man8/ip-token.8.gz
/usr/share/man/man8/ip-tunnel.8.gz
/usr/share/man/man8/ip-xfrm.8.gz

以此有的时候修改实际上是修改了linux
kernel中贰个同为hostname的基石参数,它保存在/proc/sys/kernel/hostname中。假若急需恒久修改则供给修改配置文件/etc/sysconfig/network,centos7中需求修改/etc/hostname。需求留意的是,假若布置文件中的主机名是localhost或localhost.localdomain时,系统会博得互连网接口的IP地址,并用这些地点寻找/etc/hosts文件中对应的主机名,然后将其设置成最后的hostname。

3、host DNS查询

13.6.2 ip addr

ip
addr用于处理网络设备上的ip地址,也足以查阅ip地址的性子音讯。在老版本的Linux中,一块网卡上安装三个IP,这么些IP称为小名IP,但是从CentOS
6伊始,这几个IP称为secondary IP或slave IP,因为这几个IP自己也可以顺便属性。

(1).ip addr add/del

ip address { add | del } IFADDR dev STRING
IFADDR := PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label STRING ]

以add为例:
dev NAME:指定要设置IP地址的网卡
local ADDRESS (default):接口的IP地址。IP地址的格式依赖于是ipv4还是ipv6。对于ipv4而言,给定地址,可能还需要给定cidr的掩码位长度
broadcast ADDRESS:接口的广播地址
label NAME:为该接口的IP地址设置label名,label名称必须以网络接口名开头后接冒号,如eth0:X

del和add的参数相同,且dev是必须要给定的,其余的参数可选,因为del的时候是通配del,如果删除时有多个满足条件的条目,则删除第一个条目。

例如:

[[email protected] ~]# ip addr add 192.168.100.45 dev eth0
[[email protected] ~]# ip addr add 192.168.100.35/24 dev eth1

此情势丰盛的地方不会在ifconfg命令中显示,ifconfg能捕捉到的是别称,所以可认为地方加上label,以让secondary被ifconfig查看到。举个例子:

[[email protected] ~]# ip addr add 192.168.100.45 dev eth0 label eth0:0

要去除ip,则轻巧的多,但不能够不钦命dev,且最棒也钦定cidr的掩码长度。

[[email protected] ~]# ip addr del 192.168.100.45 dev eth0
[[email protected] ~]# ip addr del 192.168.100.35/24 dev eth1

金沙注册送58,(2).ip addr show

虽说也可能有多少个选项,不过以为没什么用,直接ip addr
show就够了。因为ip命令能够缩写,所以能够写为

[[email protected] ~]# ip a show
[[email protected] ~]# ip a s
[[email protected] ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:71:81:64 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.70/24 brd 192.168.100.255 scope global eth0
    inet6 fe80::20c:29ff:fe71:8164/64 scope link
       valid_lft forever preferred_lft forever

(3).ip addr flush

用来批量去除地址,该命令其实十一分危急,一个十分的大心就能够加害无辜,所幸的是flush的时候不给定任何参数只怕尚未别的条款能够相称上的时候将不奉行flush动作,总而言之该命令要小心使用。同样也不能够不给定dev参数。

诸如删除eth1上享有地方。

[[email protected] ~]# ip a flush dev eth1

除去eth1上有所的secondary地址。

[[email protected] ~]# ip a f secondary dev eth1

host name

13.6.3 ip route

该命令维护和查阅内核中的路由表。

(1).ip route add/del/change/append/replace

语法格式为:

ip route { add | del | change | append | replace } dest[/cidr_mask] [ via ADDRESS ] [ dev STRING ]

内部dest为对象地方,能够是主机地址、网段地址,一般在地点后都会带上cidr格式的掩码长度,不带时默感到三十二人长度。要是dest为”0/0″只怕写为”default”,则意味着默许路由。

诸如增多/修改/替换普通路由:

[[email protected] ~]# ip route add/change/replace 172.16.10.0/24 via 192.168.10.20

增多/修改/替换私下认可路由:

[[email protected] ~]# ip route add/change/replace default via 192.168.10.20
[[email protected] ~]# ip route add/change/replace 0/0 via 192.168.100.2

去除某路由:

[[email protected] ~]# ip route del 172.16.10.0/24
[[email protected] ~]# ip route del default   # 删除默认路由

(2).ip route show

列出路由表。

语法格式为:

ip route show [to [ root | match | exact ] ADDR_pattern ] [ via ADDR ]

中间to关键字是暗许关键字,用来相称路由的目的地址。其后方可跟上修饰符root/match/exact,exact为私下认可修饰符,表示正确相称掩码位长度,root修饰符表示非常的掩码位长度超越或等于ADD汉兰达_pattern给定的掩码位长度,match修饰符相称短于或等于ADDCRUISER_pattern掩码位长度。举例”to
match
16.0/16″将能相配到”16.0/16″、”16/8″和”0/0″,但却无计可施同盟”16.1/16″和”16.0/24″以及”16.0.四分之二4″,而”to
root 16.0/16″将能匹配”16.0/24″和”16.0.二分之一4″。

via是依靠下一跳的方法来列出路由条目款项。

例如:

[[email protected] ~]# ip route show | column -t                   
default           via  192.168.100.2  dev    eth0    proto  static  metric  100
172.16.10.0/24    dev  eth1           proto  kernel  scope  link    src     172.16.10.20    metric  100
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20
172.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     172.168.10.20   metric  100
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24   dev  eth0           proto  kernel  scope  link    src     192.168.10.20   metric  100
192.168.100.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.100.54  metric  100
192.168.100.0/24  dev  eth1           proto  kernel  scope  link    src     192.168.100.74  metric  101

[[email protected] ~]# ip route show to match 192.168.10/24 | column -t
default          via  192.168.100.2  dev    eth0    proto  static  metric  100
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20
192.168.10.0/24  dev  eth0           proto  kernel  scope  link    src     192.168.10.20  metric  100

[[email protected] ~]# ip route show to match 192.168/24 | column -t     
default  via  192.168.100.2  dev  eth0  proto  static  metric  100

[[email protected] ~]# ip route show to root 192.168/16 | column -t
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20
192.168.10.0/24   dev  eth0  proto  kernel  scope  link  src  192.168.10.20   metric  100
192.168.100.0/24  dev  eth0  proto  kernel  scope  link  src  192.168.100.54  metric  100
192.168.100.0/24  dev  eth1  proto  kernel  scope  link  src  192.168.100.74  metric  101

其实无需那么花哨,简轻便单的”ip r”多造福。

(3).ip route flush

批量刨除路由表条款。参数和ip route show的参数同样。

诸如删除由eth1出去的路由条目款项。

[[email protected] ~]# ip route flush eth1

删除下一跳为192.168.100.70的路由条款。

[[email protected] ~]# ip r flush via 192.168.100.70

去除目的为192.168.0.0/16网段的路由

[[email protected] ~]# ip route flush 192.168/16

(4).ip route save/restore

用来保存当前的路由表以及恢复生机路由表。保存路由表时,路由表将以二进制裸数据的格式输出,也正是看不懂的二进制文件。苏醒路由表时,需要配备的安装和保存路由表时是一样的,恢复时已存在于路由表中的路由条目款项将被忽视。

比如当前路由表音讯如下:

[[email protected] ~]# ip r
default via 192.168.100.2 dev eth0  proto static  metric 100
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.20  metric 100
192.168.100.0/24 dev eth0  proto kernel  scope link  src 192.168.100.54  metric 100
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

保存当前路由表。

[[email protected] ~]# ip route save > /tmp/route.txt

除去几条路由表。

[[email protected] ~]# ip route flush dev eth0

[[email protected] ~]# ip r
192.168.100.0/24 dev eth1  proto kernel  scope link  src 192.168.100.74  metric 101

复原路由表。

[[email protected] ~]# ip route restore < /tmp/route.txt

host命令通过配备文件/etc/resolv.conf中钦赐的DNS服务器查询name的IP地址:

13.6.4 ip link

link表示link
layer的情致,即链路层。该命令用于管理和查阅互连网接口,乃至能够增加虚拟网络接口,将网络接口分组举行管制。

(1).ip link set

ip link set DEVICE  { up | down | arp { on | off } | name NEWNAME | address LLADDR }  

选项说明:
dev DEVICE:指定要操作的设备名
up and down:启动或停用该设备
arp on or arp off:启用或禁用该设备的arp协议
name NAME:修改指定设备的名称,建议不要在该接口处于运行状态或已分配IP地址时重命名
address LLADDRESS:设置指定接口的MAC地址

例如,禁用eth1网卡。

[[email protected] ~]# ip link set eth1 down

骨子里等价于:

[[email protected] ~]# ifconfig eth1 down

修改网卡eth1的MAC地址。

[[email protected] ~]# ip link set eth1 address 00:0c:29:f3:33:77

(2).ip link show

语法格式:

ip [ -s | -h ] link show [dev DEV]  

选项说明:
-s:将显示各网络接口上的流量统计信息
-h:以人类可读的方式显式,即单位转换。注:"-h"在CentOS 7上才支持。

例如:

[[email protected] ~]# ip -s -h link show  dev eth0  
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 00:0c:29:f7:43:77 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast  
    13.7M      20.0k    0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    1.59M      9.97k    0       0       0       0 

 

重返种类作品大纲:

[root@centos7 temp]# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 61.135.169.121
www.a.shifen.com has address 61.135.169.125

转发请注明出处:

 

Linux的网络管理,第13章linux 本文目录:
13.1 Linux数据包转载功效 13.2 和互联网有关的多少个文件注解 13.2.1
网卡配置文件ifcfg-* 13.2.2 DNS配…

4、dig DNS

dig和host命令的语法一致,但提供了更详尽的新闻和愈来愈多的选项:

[root@centos7 ~]# dig www.baidu.com
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.2 <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22125
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.baidu.com.     IN  A
;; ANSWER SECTION:
www.baidu.com.   113  IN  CNAME www.a.shifen.com.
www.a.shifen.com.  113  IN  A  61.135.169.125
www.a.shifen.com.  113  IN  A  61.135.169.121
;; Query time: 2 msec
;; SERVER: 223.5.5.5#53(223.5.5.5)
;; WHEN: 四 11月 10 12:31:20 CST 2016
;; MSG SIZE rcvd: 90
[root@centos7 ~]#

如只询问域名的A记录并以短格式呈现:

[root@centos7 ~]# dig www.baidu.com A +short
www.a.shifen.com.
61.135.169.125
61.135.169.121
[root@centos7 ~]#

或者:

[root@centos7 ~]# dig +nocmd www.baidu.com A +noall +answer
www.baidu.com.   252  IN  CNAME www.a.shifen.com.
www.a.shifen.com.  252  IN  A  61.135.169.125
www.a.shifen.com.  252  IN  A  61.135.169.121

还足以用@server的方法钦点DNS服务器:

[root@centos7 ~]# dig +noall +answer www.baidu.com A @8.8.8.8
www.baidu.com.   21  IN  CNAME www.a.shifen.com.
www.a.shifen.com.  263  IN  A  61.135.169.125
www.a.shifen.com.  263  IN  A  61.135.169.121

越多的吩咐及挑选请自行man

5、traceroute或tracepath 路由追踪

[root@centos7 ~]# tracepath www.baidu.com
1?: [LOCALHOST]        pmtu 1500 
1: 10.0.1.103        0.396ms 
1: 10.0.1.103        0.350ms 
2: 210.51.161.1        1.187ms asymm 3 
3: 210.51.161.1        8.186ms 
4: 210.51.175.81       1.117ms 
5: 61.148.142.61       8.554ms asymm 12 
6: 61.148.147.13       1.694ms asymm 12 
7: 123.126.8.117       3.934ms asymm 10 
8: 61.148.155.46       2.703ms asymm 10 ....

此间只列出一些输出,表示追踪到指标地址的路由,每一跳都回来。

6、ifconfig 配置互联网接口

当命令未有任何参数时呈现全数互连网接口的音讯:

[root@centos7 ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  inet 172.20.71.254 netmask 255.255.255.0 broadcast 172.20.71.255
  inet6 fe80::250:56ff:fea4:fe34 prefixlen 64 scopeid 0x20<link>
  ether 00:50:56:a4:fe:34 txqueuelen 1000 (Ethernet)
  RX packets 11996157 bytes 775368588 (739.4 MiB)
  RX errors 0 dropped 0 overruns 0 frame 0
  TX packets 12 bytes 888 (888.0 B)
  TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  inet 10.0.1.254 netmask 255.255.255.0 broadcast 10.0.1.255
  inet6 fe80::250:56ff:fea4:a09 prefixlen 64 scopeid 0x20
  ether 00:50:56:a4:0a:09 txqueuelen 1000 (Ethernet)
  RX packets 20941185 bytes 1307830447 (1.2 GiB)
  RX errors 0 dropped 0 overruns 0 frame 0
  TX packets 147552 bytes 11833605 (11.2 MiB)
  TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
  inet 127.0.0.1 netmask 255.0.0.0
  inet6 ::1 prefixlen 128 scopeid 0x10
  loop txqueuelen 1 (Local Loopback)
  RX packets 0 bytes 0 (0.0 B)
  RX errors 0 dropped 0 overruns 0 frame 0
  TX packets 0 bytes 0 (0.0 B)
  TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[root@centos7 ~]#

本例中展示了多个网卡ens32和ens33以及环回口lo的音信,包涵mtu,ip地址,掩码,mac地址,传输和接到数据量等等。
采取-s突显精简的消息:

[root@idc-v-71253 ~]# ifconfig -s ens32
Iface  MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens32  1500 11996951  0  0 0   12  0  0  0 BMRU

如给ens33增添三个新鸿基土地资金财产方10.0.1.4:

[root@centos7 ~]# ifconfig ens33:0 10.0.1.4/24 up
[root@centos7 ~]# ifconfig ens33:0
ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  inet 10.0.1.4 netmask 255.255.255.0 broadcast 10.0.1.255
  ether 00:50:56:a4:0a:09 txqueuelen 1000 (Ethernet)

指令中/24申明接口地址的掩码,up表示启用此接口。注意若是ip地址早就被运用,这里依然会被设置成功,但此地方被访问时,可能会有抵触。

停用某接口:
[root@centos7 ~]# ifconfig ens33:0
down

要是急需永远增添或修改当前接口的地址,最佳直接编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33(别的系统换来对应文件)中IPADDENVISION字段,然后重启网络systemctl
restart network或service network restart生效。

7、arp和arping

命令arp突显系统的arp缓存,命令arping给左邻右舍主机发送ARP请求。

[root@idc-v-71253 ~]# arp -a
? (10.0.1.1) at 68:8f:84:01:f1:ff [ether] on ens33
? (10.0.1.102) at 00:50:56:a4:18:9a [ether] on ens33
? (10.0.1.254) at 00:50:56:a4:a9:16 [ether] on ens33
? (10.0.1.10) at 00:50:56:a4:d2:e4 [ether] on ens33
? (10.0.1.104) at 00:50:56:a4:37:a7 [ether] on ens33

?表示一窍不通域名,最后的网卡名代表arp表项对应的网络接口
如察觉某地点不平稳,能够使用arping测试该地方是或不是为MAC地址争持:

[root@centos7 ~]# arping 10.0.1.252 -I ens33
ARPING 10.0.1.252 from 10.0.1.254 ens33
Unicast reply from 10.0.1.252 [00:50:56:A4:65:71] 0.843ms
Unicast reply from 10.0.1.252 [00:50:56:A4:0A:09] 1.034ms

此地两条回来音讯中的MAC地址不一致,表明有两块网卡配置了同等的IP地址。选项-I钦赐发送arp请求的互连网接口。
纵然正好改变了网卡的IP地址,但上游设备(如交流机)的arp表项如故老的,能够选拔arping来强制刷新:

[root@centos7 ~]# arping -c3 -I ens33 -s 10.0.1.254 10.0.1.1
ARPING 10.0.1.1 from 10.0.1.254 ens33
Unicast reply from 10.0.1.1 [68:8F:84:01:F1:FF] 19.466ms
Unicast reply from 10.0.1.1 [68:8F:84:01:F1:FF] 2.358ms
Unicast reply from 10.0.1.1 [68:8F:84:01:F1:FF] 24.305ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)

-c钦命发送arp请求次数,-s内定源地址,最终的IP表示发送对象(这里是网关地址)。

8、route 显示或改变路由表

[root@centos7 ~]# route
Kernel IP routing table
Destination  Gateway   Genmask   Flags Metric Ref Use Iface
10.0.1.0  0.0.0.0   255.255.255.0 U  0  0  0 ens33
link-local  0.0.0.0   255.255.0.0  U  1002 0  0 ens32
link-local  0.0.0.0   255.255.0.0  U  1003 0  0 ens33
172.20.71.0  0.0.0.0   255.255.255.0 U  0  0  0 ens32
192.168.78.0 10.0.1.104  255.255.255.0 UG 0  0  0 ens33

内部Destination表示指标网段或目的主机;Gateway代表网关地址;Genmask表示指标网段的掩码;Flags表示路由标记:U表示路由是启用(up)的、G表示网关;Metric表示指标距离,平日用跳数表示;Ref表示路由的引用数;Use表示路由查找计数;Iface表示此条路由的谈话。

选取-n代表用数字情势显得指标网段
挑选add和del表示增加或删除一条路由。
选料-net和netmask代表钦定目标网段及掩码。
分选gw代表钦定网关。
选择dev IF表示钦赐出口网卡

如扩充一条到192.56.76.x的路由,使它的说道为ens32:

route add -net 192.56.76.0 netmask
255.255.255.0 dev ens32

如扩展一条默许路由,指明它的网关为10.0.1.1

route add default gw 10.0.1.1

如扩张一条到172.20.70.0的路由,网关为10.0.1.2

route add -net 172.20.70.0/24 gw 10.0.1.2

如删减暗许路由

route del default

9、telnet 提供远程登陆功效

出于telnet协议利用公开传输,在务求平安登入的碰着中并不适用。今后平常用它来进展网络服务的端口测试:

[root@centos7 ~]# telnet 10.0.1.251 80
Trying 10.0.1.251...
Connected to 10.0.1.251.
Escape character is '^]'.
^] #这里按了CTRL+],也可以按CTRL+C强行退出。
telnet> quit
Connection closed.

这里对方的80端口是敞开并同意通讯的。当对端端口未有开启时:

[root@centos7 ~]# telnet 10.0.1.251 81
Trying 10.0.1.251...
telnet: connect to address 10.0.1.251: No route to host

当对端拒绝连接时:

[root@centos7 ~]# telnet 10.0.1.251 8085
Trying 10.0.1.251...
telnet: connect to address 10.0.1.251: Connection refused

10、ssh 远程登陆程序

ssh [OPTIONS]… [user@]hostname
[command]

ssh的全称是Secure
Shell,在不安全的网络主机间提供安全加密的通讯,意在替代别的中长途登入协议。

[root@centos7 ~]# ssh 10.0.1.253
The authenticity of host '10.0.1.253 (10.0.1.253)' can't be established.
ECDSA key fingerprint is 96:bd:a3:a7:87:09:1b:53:44:4c:9b:b9:5f:b2:97:89.
Are you sure you want to continue connecting (yes/no)? yes #这里输入yes
Warning: Permanently added '10.0.1.253' (ECDSA) to the list of known hosts.
root@10.0.1.253's password:   #这里输入密码
Last login: Fri Nov 11 09:04:01 2016 from 192.168.78.137
[root@idc-v-71253 ~]#     #已登录

当命令ssh后从来跟主机IP时表示使用暗中认可用户root登陆,借使是第贰次登陆,需求认同增多该主机的辨证key,当输入yes后,即会在本机/root/.ssh/known_hosts中追加一条该主机的记录,下贰遍登陆时就不用再行确认了。然后必要输入用户密码,通过验证之后,大家就收获了目标主机的二个shell,大家就足以在那么些shell中施行命令了。
在新shell中输入exit就可以退回到原shell。
纵然急需频仍登陆某主机,但不想每一趟都输入密码,可以安装免密码登入:

[root@centos7 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #回车
Enter passphrase (empty for no passphrase): #回车
Enter same passphrase again: #回车
Your identification has been saved in /root/.ssh/id_rsa. #私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. #公钥
The key fingerprint is:
be:c3:d0:02:50:35:35:fe:60:d6:2f:26:96:f0:e1:e6 root@centos7
The key's randomart image is:
+--[ RSA 2048]----+
| ...o.o  |
| . o o  |
| . . * .  |
| . * = .  |
|  . .S + . |
|  o=.o .  |
|  +E  |
|  o.  |
|  ..  |
+-----------------+
[root@centos7 ~]#
[root@centos7 ~]# ssh-copy-id 10.0.1.253
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.0.1.253's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '10.0.1.253'"
and check to make sure that only the key(s) you wanted were added.
[root@centos7 ~]#

内部命令ssh-keygen用来扭转公钥私钥,选项-t指明密钥类型。之后选取命令ssh-copy-id将公钥发送至目的主机,这里供给输入目的主机用户密码。然后就足防止密码登入了:

[root@centos7 ~]# ssh 10.0.1.253
Last login: Fri Nov 11 11:08:37 2016 from 10.0.1.254
[root@idc-v-71253 ~]#

还能透过ssh远程实行命令:

[root@centos7 ~]# ssh 10.0.1.252 "hostname"
root@10.0.1.252's password: #输入密码
idc-v-71252     #显示命令结果
[root@centos7 ~]#   #并不登录

照旧手动将公钥拷贝至指标主机:

[root@centos7 ~]# cat /root/.ssh/id_rsa.pub | ssh 10.0.1.252 "cat - >> /root/.ssh/authorized_keys"
root@10.0.1.252's password:   #输入密码
[root@centos7 ~]# ssh 10.0.1.252  #免密登录
Last login: Thu Nov 10 14:42:11 2016 from 192.168.78.135
[root@idc-v-71252 ~]#

慎选-p为记名钦命端口:

[root@centos7 temp]# ssh -p22 10.0.1.252
Last login: Fri Nov 11 11:44:31 2016 from 10.0.1.254
[root@idc-v-71252 ~]#

端口设置在服务端配置文件/etc/ssh/sshd_config中,暗中同意端口号为22,如改造需将#Port
22去掉注释并将22退换为索要的端口,然后重启sshd服务service sshd
restart或systemctl restart sshd。
假使急需利用其它的用户登入系统则试行ssh user@host
我们得以用tar命令结合ssh和管道,将地点(远程)文件备份到长途(本地):

tar zc /home/temp | ssh user@host "tar xz" #本地temp目录备份到远程
ssh user@host "tar cz /home/temp" | tar xz #远程temp目录备份到本地

选项-L [bind_address:]port:host:hostport设置本地端口转载

[root@centos7 ~]# ssh -L 2222:10.0.1.252:22 10.0.1.253
Last login: Mon Nov 14 10:34:43 2016 from 10.0.1.254
[root@idc-v-71253 ~]# #注意如果这里exit断开连接,则此转发也将终止。

此命令的意趣是绑定本地端口2222,并将持有发送至此端口的数额经过中间主机10.0.1.253转载至指标主机10.0.1.252的22端口,此时即使用ssh登入本机的2222端口,则实在登陆的是主机10.0.1.252

[root@centos7 ~]# ssh -p 2222 127.0.0.1
Last login: Mon Nov 14 10:34:56 2016 from 10.0.1.253
[root@idc-v-71252 ~]#

此间私下认可绑定的是本机的环回口127.0.0.1,如绑定到别的地点,则基于语法设置bind_address。
分选-N代表不实施命令,只设置端口转载时有用
由于上述端口转载命令ssh -L 2222:10.0.1.252:22
10.0.1.253会报到到中路主机,并且脱离后端口转载也会结束,使用-N选项将不会报到,再合作shell后台执行,将会是贰个没有错的安装端口转载的抉择(但要注意对中级主机供给免密码登陆):

[root@centos7 ~]# ssh -N -L 2222:10.0.1.252:22 10.0.1.253 &
[1] 12432
[root@centos7 ~]#

一声令下最终的标记&表示此命令将要后台试行,重临的音讯中[1]意味着后台命令编号,12432表示命令的PID。(关于shell后台命令,未来的稿子中会有描述)
选项-R [bind_address:]port:host:hostport 设置远程端口转载
如大家在10.0.1.253上实施:

ssh -R 2222:10.0.1.252:22 10.0.1.254

然后在10.0.1.254上登录:

[root@centos7 ~]# ssh -p 2222 localhost
Last login: Mon Nov 14 10:40:44 2016 from 10.0.1.253
[root@idc-v-71252 ~]#

此间的情趣是使长途主机10.0.1.254(相对10.0.1.253的话)监听端口2222,然后将持有发送至此端口的数码转载至指标主机10.0.1.252的端口22。之后再在10.0.1.254登入本地(localhost)的2222端口时,实际通过中间主机10.0.1.253记名指标主机10.0.1.252。
选择-o OPTION钦赐布署文件(如/etc/ssh/sshd_config)内选项
如防止第贰次登入时输入yes确认,可扩张-o StrictHostKeyChecking=no。

11、scp 远程复制文件

scp [OPTIONS]… [[user@]host1:]file1
… [[user@]host2:]file2
scp命令通过ssh协议将数据加密传输,和ssh登陆类似,供给输入远程主机用户密码。
如将长途主机10.0.1.253普通话件/root/tcp.sh复制到本地当前目录下:

[root@centos7 ~]# scp root@10.0.1.251:/root/a.txt ./
root@10.0.1.251's password:
a.txt    100% 125  0.1KB/s 00:00
[root@centos7 ~]#

命令会显示传输状态(传输百分比,大小,速度,用时)。
将地方文件复制到远程无非是将源和指标沟通位置。
慎选-P钦定远端连接端口(ssh服务端口),-o ssh_option使用ssh选项。
慎选-l limit传输限制速度,limit单位为Kbit/s。
和指令cp类似,选项-r表示复制目录,-p代表保留文件权限制时间间等

12、netstat 打字与印刷网络音讯

选料-a显示全体端口消息:

[root@centos7 ~]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address   State
tcp  0  0 0.0.0.0:ssh    0.0.0.0:*    LISTEN
tcp  0  0 localhost:smtp   0.0.0.0:*    LISTEN
tcp  0  52 10.0.1.254:ssh 192.168.78.143:49583 ESTABLISHED
tcp6  0  0 [::]:commplex-main  [::]:*     LISTEN
tcp6  0  0 [::]:4243    [::]:*     LISTEN
tcp6  0  0 [::]:ssh    [::]:*     LISTEN
tcp6  0  0 localhost:smtp   [::]:*     LISTEN
raw6  0  0 [::]:ipv6-icmp   [::]:*     7
raw6  0  0 [::]:ipv6-icmp   [::]:*     7
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags  Type  State   I-Node Path
unix 2  [ ACC ]  STREAM  LISTENING  12807 /run/systemd/private
unix 2  [ ACC ]  STREAM  LISTENING  12815 /run/lvm/lvmpolld.socket
unix 2  [ ]   DGRAM     12818 /run/systemd/shutdownd
unix 2  [ ACC ]  STREAM  LISTENING  16403 /var/run/dbus/system_bus_socket
....

此间只展示部分音讯
分选-t展现TCP连接消息
选用-n突显IP地址而不开始展览域名转变
分选-p呈现PID和次序名

[root@centos7 ~]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN  1358/sshd
tcp  0  0 127.0.0.1:25   0.0.0.0:*    LISTEN  2162/master
tcp  0  52 10.0.1.254:22   192.168.78.143:49583 ESTABLISHED 12044/sshd: root@pt
tcp6  0  0 :::5000     :::*     LISTEN  17222/docker-proxy
tcp6  0  0 :::4243     :::*     LISTEN  16983/docker 
tcp6  0  0 :::22     :::*     LISTEN  1358/sshd
tcp6  0  0 ::1:25     :::*     LISTEN  2162/master
[root@centos7 ~]#

里头Proto表示协议(包蕴TCP、UDP等);Recv-Q和Send-Q表示接受和殡葬队列,一般都为0,要是非0则代表本地的收到或发送缓存区有数量等待处理;Local
Address和Foreign
Address分别表示本地地址和远端地址;State表示连接意况,对应于TCP种种连接意况;PID/Program
name表示经过号和顺序名。
分选-l代表只呈现状态为LISTEN的接连

[root@centos7 ~]# netstat -ntl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address   Foreign Address   State
tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN
tcp  0  0 127.0.0.1:25   0.0.0.0:*    LISTEN
tcp6  0  0 :::5000     :::*     LISTEN
tcp6  0  0 :::4243     :::*     LISTEN
tcp6  0  0 :::22     :::*     LISTEN
tcp6  0  0 ::1:25     :::*     LISTEN
[root@centos7 ~]#

分选-u代表显示UDP连接音信
选拔-r代表彰显路由信息

[root@centos7 ~]# netstat -r
Kernel IP routing table
Destination  Gateway   Genmask   Flags MSS Window irtt Iface
default   10.0.1.103  0.0.0.0   UG  0 0   0 ens33
10.0.1.0  0.0.0.0   255.255.255.0 U   0 0   0 ens33
172.20.71.0  0.0.0.0   255.255.255.0 U   0 0   0 ens32
192.168.78.0 10.0.1.104  255.255.255.0 UG  0 0   0 ens33

选用-i彰显接口音讯

[root@centos7 ~]# netstat -i
Kernel Interface table
Iface  MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
ens32  1500 13196107  0  77 0   3246  0  0  0 BMRU
ens33  1500 25312388  0  88 0  2516050  0  0  0 BMRU
lo  65536 2503589  0  0 0  2503589  0  0  0 LRU

13、tcpdump 互连网抓包工具

一声令下tcpdump捕获某互联网接口符合表明式expression的数据包,并打字与印刷出多少包内容的讲述音讯。
挑选-i钦定网卡:

[root@idc-v-71253 ~]# tcpdump -i ens33
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 65535 bytes
15:41:59.121948 IP 10.0.1.108.3693 > 239.100.1.1.websm: UDP, length 58
15:41:59.122191 IP 10.0.1.109.35673 > 239.100.1.1.websm: UDP, length 57 15:41:59.128282 IP 10.0.1.253.ssh > 192.168.78.143.51694: Flags [P.], seq 749565300:749565496, ack 3522345564, win 255, length 196 15:41:59.134127 IP 192.168.78.143.51694 > 10.0.1.253.ssh: Flags [.], ack 196, win 3977, length 0
15:41:59.140319 ARP, Request who-has 10.0.1.31 tell 10.0.1.102, length 46
15:41:59.168328 ARP, Request who-has 10.0.1.37 tell 10.0.1.102, length 46
15:41:59.262235 ARP, Request who-has 192.168.10.150 tell 192.168.10.151, length 46
15:41:59.622090 IP 10.0.1.108.3693 > 239.100.1.1.websm: UDP, length 58
15:41:59.622178 IP 10.0.1.109.35673 > 239.100.1.1.websm: UDP, length 57
....

启航命令之后显得出可以使用-v或-vv呈现更详实的新闻,开头从ens33破获数据包。输出呈现出各样发送或接收数据手提袋头音信(包含ARP、IP、TCP、UDP等等协议)。此命令并未有钦命expression,所以私下认可将捕获全部数据包。
假设急需将数据包捕获然后通过此外程序(如wireshark)深入分析,能够选用选用-w
file将数据写入文件,同时还供给运用选择-s
0内定能够捕获的数额包大小为65535字节,以幸免数据包被截断而不可能被分析。

实打真实情处境中,流经网卡的数码包量是了不起的。能够应用表明式来对数码包举行过滤,对于每一种数据包,都要通过表明式的过滤,唯有表明式的值为true时,才会输出。

expression中得以包涵一到多少个主要字钦点的尺度,能够选用and(或&&)、or(或||)、not(或!)和括号()表示种种显要字间的逻辑关系,能够用>、<表示相比较,还足以展开总计。在那之中主要字概括:
type类型关键字,如host、net、port和portrange,分别表示主机、网段、端口号、端口段。
direction方向珍视字,如src、dst分别表示源和目的。
proto磋商首要字,如fddi、arp、ip、tcp、udp等各自代表种种网络协议。

由于篇幅所限,下边包车型大巴例子大校只描述选项和表明式所起到的机能,不再解释输出内容:

tcpdump -i ens33 dst host 10.0.1.251
#监视所有从端口ens33发送到主机10.0.1.251的数据包,主机也可以是主机名
tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80
#监听端口eth0,抓取不是来自或去到主机211.161.223.70和211.161.223.71并且目标端口为80的包
tcpdump tcp port 23 host 210.27.48.1
#获取主机210.27.48.1接收或发出的telnet包tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0) and src net (183.60.190 or 122.13.220)' -s0 -i eth0 -w ipdump
#抓取源或目的端口是80,且源网络是(183.60.190.0/24 或者 122.13.220.0/24),并且含有数据,而不是SYN,FIN以及ACK-only等不含数据的TCP数据包写入文件ipdump
#注意这里表达式使用单引号引起来以避免其中的特殊字符被shell解析而造成语法错误
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and ! src and dst net 10.0.0'
#只打印TCP的开始和结束包(SYN和FIN标记),并且源和目标网段均不是10.0.0.0/24
tcpdump 'gateway 10.0.1.1 and ip[2:2] > 576'
#表示抓取发送至网关10.0.1.1并且大于576字节的IP数据包

互连网有关命令内容较多,希望能够帮到你。

您或然感兴趣的稿子:

  • linux
    Shell脚本里面把一个数组传递到awk内部开始展览管理
  • linux awk高端应用实例
  • 一天一个shell命令
    linux文本内容操作类别-awk命令详解
  • linux
    awk时间测算脚本及awk命令详解
  • linux正则表明式awk详解
  • linux shell
    awk获得外部变量(变量传值)简要介绍
  • linux之awk命令的用法
  • Linux里awk中split函数的用法小结
  • linux用户与公事基础命令介绍(1)
  • linux文本深入分析awk基础命令介绍(8)

相关文章

网站地图xml地图