Linux网络——查看网络连接情况的命令
摘要:本文主要学习了Linux中用来查看网络连接情况的命令。
hostname命令
hostname命令用于显示和设置系统的主机名称,设置只是临时生效,永久生效需要更改配置文件。
基本语法
修改主机名:
1 hostname 主机名
查看系统信息:
1 hostname [选项]
选项说明
1 -a:显示主机别名。 2 -d:显示DNS域名。 3 -f:显示FQDN名称。 4 -i:显示主机的ip地址。 5 -s:显示短主机名称,在第一个点处截断。 6 -y:显示NIS域名。
使用举例
1 [root@localhost ~]# hostname 2 localhost.localdomain 3 [root@localhost ~]# hostname -a 4 localhost.localdomain localhost4 localhost4.localdomain4 localhost.localdomain localhost6 localhost6.localdomain6 5 [root@localhost ~]#
ping命令
ping命令会向目标主机发送ICMP请求包,常用来测试当前主机与目标主机网络连接状况。
基本语法
1 ping [选项]
选项说明
1 -b:允许ping网关地址。 2 -c 数量:设置发包的个数。 3 -f:压力测试网络,向目标主机大量发送请求包。 4 -i 秒数:发送每个数据包之间等待的间隔(单位秒)。默认设置是等待一秒,极限模式下不等待。只有超级用户可以设置间隔值小于0.2秒。 5 -n:使用IP地址,不进行IP和主机名称的反查。 6 -q:静默输出。除启动和完成时的摘要行外,不显示任何内容。 7 -s 字节数:指定要发送的数据字节数。默认56。 8 -t 值:设置IP生存时间值(TTL)。
使用举例
1 [root@localhost ~]# ping -c 5 www.baidu.com 2 PING www.baidu.com (182.61.200.6) 56(84) bytes of data. 3 64 bytes from 182.61.200.6: icmp_seq=1 ttl=128 time=10.5 ms 4 64 bytes from 182.61.200.6: icmp_seq=2 ttl=128 time=10.6 ms 5 64 bytes from 182.61.200.6: icmp_seq=3 ttl=128 time=10.4 ms 6 64 bytes from 182.61.200.6: icmp_seq=4 ttl=128 time=9.05 ms 7 64 bytes from 182.61.200.6: icmp_seq=5 ttl=128 time=8.37 ms 8 9 --- www.baidu.com ping statistics --- 10 5 packets transmitted, 5 received, 0% packet loss, time 4010ms 11 rtt min/avg/max/mdev = 8.375/9.828/10.691/0.943 ms 12 [root@localhost ~]#
nslookup命令
nslookup是一个能够查询互联网域名服务器信息的程序。
它有两种工作模式,即“交互模式”和“非交互模式”。在“交互模式”下,用户可以向域名服务器查询各类主机或域名的信息,或者输出域名中的主机列表。而在“非交互模式”下,用户可以针对一个主机或域名获取所需信息。
安装
如果在使用nslookup命令的时候提示未找到命令,说明还没有安装nslookup工具,此时需要先安装才能使用。
查看需要安装哪个软件包:
1 [root@localhost ~]# yum provides nslookup 2 已加载插件:fastestmirror 3 Loading mirror speeds from cached hostfile 4 * base: mirrors.tuna.tsinghua.edu.cn 5 * extras: mirror.bit.edu.cn 6 * updates: mirrors.tuna.tsinghua.edu.cn 7 base/7/x86_64/filelists_db | 7.3 MB 00:00:18 8 extras/7/x86_64/filelists_db | 207 kB 00:00:00 9 mysql-connectors-community/x86_64/filelists_db | 66 kB 00:00:00 10 mysql-tools-community/x86_64/filelists_db | 192 kB 00:00:00 11 mysql56-community/x86_64/filelists_db | 783 kB 00:00:00 12 updates/7/x86_64/filelists_db | 2.7 MB 00:00:01 13 32:bind-utils-9.11.4-9.P2.el7.x86_64 : Utilities for querying DNS name servers 14 源 :base 15 匹配来源: 16 文件名 :/usr/bin/nslookup 17 18 19 20 32:bind-utils-9.11.4-9.P2.el7.x86_64 : Utilities for querying DNS name servers 21 源 :@base 22 匹配来源: 23 文件名 :/usr/bin/nslookup 24 25 26 27 [root@localhost ~]#
发现在 bind-utils 软件包里,安装:
1 [root@localhost ~]# yum install -y bind-utils 2 已加载插件:fastestmirror 3 Loading mirror speeds from cached hostfile 4 * base: mirrors.tuna.tsinghua.edu.cn 5 * extras: mirror.bit.edu.cn 6 * updates: mirrors.tuna.tsinghua.edu.cn 7 正在解决依赖关系 8 --> 解决依赖关系完成 9 10 依赖关系解决 11 12 ================================================================================================================================== 13 Package 架构 版本 源 大小 14 ================================================================================================================================== 15 正在安装: 16 bind-utils x86_64 32:9.11.4-9.P2.el7 base 258 k 17 为依赖而安装: 18 GeoIP x86_64 1.5.0-14.el7 base 1.5 M 19 bind-export-libs x86_64 32:9.11.4-9.P2.el7 base 1.1 M 20 bind-libs x86_64 32:9.11.4-9.P2.el7 base 154 k 21 geoipupdate x86_64 2.5.0-1.el7 base 35 k 22 为依赖而更新: 23 bind-libs-lite x86_64 32:9.11.4-9.P2.el7 base 1.1 M 24 bind-license noarch 32:9.11.4-9.P2.el7 base 88 k 25 dhclient x86_64 12:4.2.5-77.el7.centos base 285 k 26 dhcp-common x86_64 12:4.2.5-77.el7.centos base 176 k 27 dhcp-libs x86_64 12:4.2.5-77.el7.centos base 133 k 28 29 事务概要 30 ================================================================================================================================== 31 安装 1 软件包 (+4 依赖软件包) 32 升级 ( 5 依赖软件包) 33 ... 34 已安装: 35 bind-utils.x86_64 32:9.11.4-9.P2.el7 36 37 作为依赖被安装: 38 GeoIP.x86_64 0:1.5.0-14.el7 bind-export-libs.x86_64 32:9.11.4-9.P2.el7 bind-libs.x86_64 32:9.11.4-9.P2.el7 39 geoipupdate.x86_64 0:2.5.0-1.el7 40 41 作为依赖被升级: 42 bind-libs-lite.x86_64 32:9.11.4-9.P2.el7 bind-license.noarch 32:9.11.4-9.P2.el7 dhclient.x86_64 12:4.2.5-77.el7.centos 43 dhcp-common.x86_64 12:4.2.5-77.el7.centos dhcp-libs.x86_64 12:4.2.5-77.el7.centos 44 45 完毕! 46 [root@localhost ~]#
基本语法
在非交互模式下,可以使用选项查询指定主机或域名的信息,也可以指定DNS服务器查询:
1 nslookup [选项] 域名或IP地址 DNS服务器
进入交互模式后,可以通过设置选项来查询各类主机或域名的信息:
1 nslookup
进入交互模式后退出:
1 exit
选项说明
交互模式下使用 set 选项 设置,非交互模式下使用 -选项 设置,两个模式共用的选项:
1 [no]vc:是否使用虚电路向服务器发送请求。默认novc。 2 [no]debug:是否进入调试模式,查询过程中会显示完整的响应包以及其中的交互包。默认nodebug。 3 [no]d2:是否开启高级调试模式,每个数据包的所有字段均打印。默认nod2。 4 [no]search:是否将domain设置的域追加到查询字串的尾部来尝试查询。默认search。 5 [no]recurse:如果没有该信息,则告知DNS名称服务器查询其他服务器。默认norecurse。 6 timeout=0:设置每次查询的超时时限。默认是0。 7 retry=3:设置查询重试的次数。默认是3。 8 port=53:设置端口号。DNS默认的服务端口是53。 9 querytype=A:用于更改信息查询类型。默认是A。 10 常用的值如下: 11 A:查看主机的IPv4地址。 12 AAAA:查看主机的IPv6地址。 13 ANY:查看关于主机域的所有信息。 14 ISDN:查看域名对应的ISDN号码。 15 CNAME:查看与别名对应的正式名字。 16 HINFO:查看主机的CPU与操作系统类型。 17 MINFO:查看邮箱信息。 18 MX:查看邮件交换信息。 19 NS:查看主机域的域名服务器。 20 PTR:查看与给定IP地址匹配的主机名。 21 RP:查看域负责人记录。 22 SOA:查看域内的SOA地址。 23 TXT:查看域名对应的文本信息。 24 UINFO:查看用户信息。 25 class=IN:更改查询类,不同的类设定了不同的协议族。默认使用IN。 26 srchlist=localdomain:更改默认的DNS域名和搜索列表,最多可以指定六个用正斜杠“/”分隔的名称。 27 domain=域名:用于设置默认的域,对于所有不包含“.”的查询请求,都会自动在尾部追查此域。
非交互模式下使用举例
查询域名的DNS信息:
1 [root@localhost ~]# nslookup www.baidu.com 2 Server: 192.168.35.2 3 Address: 192.168.35.2#53 4 5 Non-authoritative answer: 6 www.baidu.com canonical name = www.a.shifen.com. 7 Name: www.a.shifen.com 8 Address: 182.61.200.6 9 Name: www.a.shifen.com 10 Address: 182.61.200.7 11 12 [root@localhost ~]#
查询域名并指定DNS服务器的DNS信息:
1 [root@localhost ~]# nslookup www.baidu.com 8.8.8.8 2 Server: 8.8.8.8 3 Address: 8.8.8.8#53 4 5 Non-authoritative answer: 6 www.baidu.com canonical name = www.a.shifen.com. 7 www.a.shifen.com canonical name = www.wshifen.com. 8 Name: www.wshifen.com 9 Address: 103.235.46.39 10 11 [root@localhost ~]#
查询指定域名的DNS信息:
1 [root@localhost ~]# nslookup -domain=baidu.com image 2 Server: 192.168.35.2 3 Address: 192.168.35.2#53 4 5 Non-authoritative answer: 6 image.baidu.com canonical name = image.n.shifen.com. 7 Name: image.n.shifen.com 8 Address: 182.61.200.226 9 Name: image.n.shifen.com 10 Address: 182.61.62.30 11 12 [root@localhost ~]#
查询指定域名和信息查询类型的DNS信息:
1 [root@localhost ~]# nslookup -domain=baidu.com -querytype=txt image 2 Server: 192.168.35.2 3 Address: 192.168.35.2#53 4 5 Non-authoritative answer: 6 image.baidu.com canonical name = image.n.shifen.com. 7 8 Authoritative answers can be found from: 9 n.shifen.com 10 origin = ns1.n.shifen.com 11 mail addr = baidu_dns_master.baidu.com 12 serial = 1908010001 13 refresh = 5 14 retry = 5 15 expire = 2592000 16 minimum = 3600 17 18 [root@localhost ~]#
交互模式下使用举例
进入交互模式:
1 [root@localhost ~]# nslookup 2 >
退出交互模式:
> exit
[root@localhost ~]#
查询域名的DNS信息:
1 > www.baidu.com 2 Server: 192.168.35.2 3 Address: 192.168.35.2#53 4 5 Non-authoritative answer: 6 www.baidu.com canonical name = www.a.shifen.com. 7 Name: www.a.shifen.com 8 Address: 182.61.200.7 9 Name: www.a.shifen.com 10 Address: 182.61.200.6 11 >
查询指定域名的DNS信息:
1 > set domain=baidu.com 2 > image 3 Server: 192.168.35.2 4 Address: 192.168.35.2#53 5 6 Non-authoritative answer: 7 image.baidu.com canonical name = image.n.shifen.com. 8 Name: image.n.shifen.com 9 Address: 182.61.62.30 10 Name: image.n.shifen.com 11 Address: 182.61.200.226 12 >
traceroute命令
traceroute命令可以用来查看数据包在主机到目的主机之间传输时,经过路由器的信息。
基本语法
1 traceroute [选项] 主机名或者IP地址 数据包大小
选项说明
1 -d:使用Socket层级的排错功能。 2 -F:设置勿离断位。 3 -I:使用ICMP回应取代UDP资料信息。 4 -n:直接使用IP地址而非主机名称。 5 -r:忽略普通的Routing Table,直接将数据包送到远端主机上。 6 -v:详细显示指令的执行过程。 7 -x:开启或关闭数据包的正确性检验。 8 -f 数值:设置第一个检测数据包的存活数值TTL的大小。 9 -g 网关:设置来源路由网关,最多可设置8个。 10 -i 网络接口:使用指定的网络接口发送数据包。 11 -m 数值:设置检测数据包的最大存活数值TTL的大小。 12 -p 端口号:设置UDP传输协议的通信端口。 13 -s 地址:设置本地主机送出数据包的IP地址。 14 -w 秒数:设置等待远端主机回报的时间。
使用举例
1 [root@localhost ~]# traceroute -m 3 www.baidu.com 2 traceroute to www.baidu.com (182.61.200.7), 3 hops max, 60 byte packets 3 1 192.168.35.2 (192.168.35.2) 0.203 ms 0.090 ms 0.042 ms 4 2 * * * 5 3 * * * 6 [root@localhost ~]# traceroute -n -m 3 www.baidu.com 7 traceroute to www.baidu.com (182.61.200.6), 3 hops max, 60 byte packets 8 1 192.168.35.2 0.193 ms 0.159 ms 0.238 ms 9 2 * * * 10 3 * * * 11 [root@localhost ~]# traceroute -n -m 3 -q 5 www.baidu.com 12 traceroute to www.baidu.com (182.61.200.6), 3 hops max, 60 byte packets 13 1 192.168.35.2 0.111 ms 0.054 ms 0.078 ms 0.067 ms 0.076 ms 14 2 * * * * * 15 3 * * * * * 16 [root@localhost ~]#
nc命令
nc既是一个端口扫描工具,也是一款安全工具,还能是一款监测工具,甚至可以做为一个简单的TCP代理。
安装
在CentOS 7的最小化安装中,nc并不会默认被安装。需要用下列命令手工安装:
1 [root@localhost ~]# yum install -y nc 2 ... 3 ================================================================================================================================================= 4 Package 架构 版本 源 大小 5 ================================================================================================================================================= 6 正在安装: 7 nmap-ncat x86_64 2:6.40-16.el7 base 206 k 8 ... 9 完毕! 10 [root@localhost ~]#
可以看到,在系统中实际上安装的是nmap-ncat命令。
基本语法
1 nc 选项 主机 端口号
选项说明
1 -v:显示指令执行过程。 2 -z:在扫描通信端口时使用,表示扫描时不发送任何数据。 3 -w 超时秒数:设置等待连线的时间。
使用举例
1 [root@localhost ~]# nc -vzw 2 www.baidu.com 80 2 Ncat: Version 7.50 ( https://nmap.org/ncat ) 3 Ncat: Connected to 182.61.200.6:80. 4 Ncat: 0 bytes sent, 0 bytes received in 0.03 seconds. 5 [root@localhost ~]#