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 ~]#