您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)Linux中的網(wǎng)路命令有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
無論你是要下載文件、診斷網(wǎng)絡(luò)問題、管理網(wǎng)絡(luò)接口,還是查看網(wǎng)絡(luò)的統(tǒng)計(jì)數(shù)據(jù),都有終端命令可以來完成
內(nèi)容如下:
1、ping 發(fā)送TCMP回顯請求報(bào)文,并等待返回TCMP回顯應(yīng)答。
ping [OPTIONS]... destination
這里的目標(biāo)destination可以是目的IP地址或者域名/主機(jī)名 選項(xiàng)-c指定發(fā)送請求報(bào)文的次數(shù),當(dāng)ping沒有任何選項(xiàng)時(shí),在linux中默認(rèn)將一直發(fā)送請求報(bào)文直到手動(dòng)終止。
[root@centos7 ~]# ping -c 3 www.baidu.comPING 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
首先,ping程序會向域名服務(wù)器(DNS)發(fā)送請求,解析域名www.baidu.com的IP地址。DNS返回域名的一個(gè)別名www.a.shifen.com以及對應(yīng)的IP地址61.135.169.121。之后ping程序開始向這個(gè)地址發(fā)送請求報(bào)文,每1s發(fā)送一個(gè),ping收到ICMP回顯應(yīng)答并將結(jié)果顯示在終端上,包括ICMP序列號(icmp_seq),生存時(shí)間(ttl)和數(shù)據(jù)包往返時(shí)間(time)。最后,給出匯總信息,包括報(bào)文總收發(fā)情況,總時(shí)間,往返時(shí)間最小值、平均值、最大值、平均偏差(越大說明網(wǎng)絡(luò)越不穩(wěn)定)。
[root@centos7 ~]# ping www.a.comping: unknown host www.a.com
當(dāng)目的域名無法解析出IP地址時(shí),會報(bào)未知主機(jī)的錯(cuò)
[root@centos7 ~]# ping 192.168.0.1PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. ^C #這里按CTRL+C鍵手動(dòng)終止了進(jìn)程--- 192.168.0.1 ping statistics --- 6 packets transmitted, 0 received, 100% packet loss, time 4999ms
當(dāng)目的IP地址沒有路由時(shí)不會收到任何ICMP回顯報(bào)文
[root@centos7 ~]# ping -c2 10.0.1.2PING 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
當(dāng)有目的IP的路由但無法達(dá)到時(shí)顯示目標(biāo)不可達(dá)錯(cuò)誤(Destination Host Unreachable)。 ICMP回顯應(yīng)答還包括超時(shí)(request time out)等其他類型。
2、hostname顯示或設(shè)置系統(tǒng)主機(jī)名
hostname [OPTIONS]... [NAME]
直接執(zhí)行命令hostname時(shí)將顯示主機(jī)名:
[root@centos7 temp]# hostnamecentos7 [root@centos7 temp]#
這個(gè)主機(jī)名是系統(tǒng)的gethostname(2)函數(shù)返回的。 可以通過執(zhí)行命令hostname NAME來臨時(shí)改變主機(jī)名:
[root@centos7 temp]# hostname NAME[root@centos7 temp]# hostnameNAME
這個(gè)臨時(shí)修改實(shí)際上是修改了linux kernel中一個(gè)同為hostname的內(nèi)核參數(shù),它保存在/proc/sys/kernel/hostname中。如果需要永久修改則需要修改配置文件/etc/sysconfig/network,centos7中需要修改/etc/hostname。需要注意的是,如果配置文件中的主機(jī)名是localhost或localhost.localdomain時(shí),系統(tǒng)會取得網(wǎng)絡(luò)接口的IP地址,并用這個(gè)地址找出/etc/hosts文件中對應(yīng)的主機(jī)名,然后將其設(shè)置成最終的hostname。
3、host DNS查詢
host name
host命令通過配置文件/etc/resolv.conf中指定的DNS服務(wù)器查詢name的IP地址:
[root@centos7 temp]# host www.baidu.comwww.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
4、dig DNS
dig和host命令的語法一致,但提供了更詳細(xì)的信息和更多的選項(xiàng):
[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#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 +shortwww.a.shifen.com. 61.135.169.125 61.135.169.121 [root@centos7 ~]#
或者:
[root@centos7 ~]# dig +nocmd www.baidu.com A +noall +answerwww.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服務(wù)器:
[root@centos7 ~]# dig +noall +answer www.baidu.com A @8.8.8.8www.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
更多的命令及選項(xiàng)請自行man
5、traceroute或tracepath 路由跟蹤
[root@centos7 ~]# tracepath www.baidu.com1?: [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 配置網(wǎng)絡(luò)接口
當(dāng)命令沒有任何參數(shù)時(shí)顯示所有網(wǎng)絡(luò)接口的信息:
[root@centos7 ~]# ifconfigens32: flags=4163 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 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 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 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 ~]#
本例中顯示了兩個(gè)網(wǎng)卡ens32和ens33以及環(huán)回口lo的信息,包括mtu,ip地址,掩碼,mac地址,傳輸和接收數(shù)據(jù)量等等。 選項(xiàng)-s顯示精簡的信息:
[root@idc-v-71253 ~]# ifconfig -s ens32Iface 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增加一個(gè)新地址10.0.1.4:
[root@centos7 ~]# ifconfig ens33:0 10.0.1.4/24 up[root@centos7 ~]# ifconfig ens33:0ens33:0: flags=4163 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地址已經(jīng)被使用,這里依然會被設(shè)置成功,但此地址被訪問時(shí),可能會有沖突。 停用某接口: [root@centos7 ~]# ifconfig ens33:0 down
如果需要永久增加或修改當(dāng)前接口的地址,最好直接編輯網(wǎng)卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33(其他系統(tǒng)換成相應(yīng)文件)中IPADDR字段,然后重啟網(wǎng)絡(luò)systemctl restart network或service network restart生效。
7、arp和arping
命令arp顯示系統(tǒng)的arp緩存,命令arping給鄰居主機(jī)發(fā)送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
?表示未知域名,最后的網(wǎng)卡名表示arp表項(xiàng)對應(yīng)的網(wǎng)絡(luò)接口 如發(fā)現(xiàn)某地址不穩(wěn)定,可以使用arping測試該地址是否為MAC地址沖突:
[root@centos7 ~]# arping 10.0.1.252 -I ens33ARPING 10.0.1.252 from 10.0.1.254 ens33Unicast reply from 10.0.1.252 [00:50:56:A4:65:71] 0.843msUnicast reply from 10.0.1.252 [00:50:56:A4:0A:09] 1.034ms
這里兩條返回信息中的MAC地址不同,說明有兩塊網(wǎng)卡配置了相同的IP地址。選項(xiàng)-I指定發(fā)送arp請求的網(wǎng)絡(luò)接口。 如果剛剛更改了網(wǎng)卡的IP地址,但上游設(shè)備(如交換機(jī))的arp表項(xiàng)還是老的,可以使用arping來強(qiáng)制刷新:
[root@centos7 ~]# arping -c3 -I ens33 -s 10.0.1.254 10.0.1.1ARPING 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指定發(fā)送arp請求次數(shù),-s指定源地址,最后的IP表示發(fā)送目標(biāo)(這里是網(wǎng)關(guān)地址)。
8、route 顯示或更改路由表
[root@centos7 ~]# routeKernel 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表示目的網(wǎng)段或目標(biāo)主機(jī);Gateway表示網(wǎng)關(guān)地址;Genmask表示目的網(wǎng)段的掩碼;Flags表示路由標(biāo)志:U表示路由是啟用(up)的、G表示網(wǎng)關(guān);Metric表示目標(biāo)距離,通常用跳數(shù)表示;Ref表示路由的引用數(shù);Use表示路由查找計(jì)數(shù);Iface表示此條路由的出口。 選項(xiàng)-n表示用數(shù)字形式顯示目的網(wǎng)段 選項(xiàng)add和del表示添加或刪除一條路由。 選項(xiàng)-net和netmask表示指定目的網(wǎng)段及掩碼。 選項(xiàng)gw表示指定網(wǎng)關(guān)。 選項(xiàng)dev IF表示指定出口網(wǎng)卡 如增加一條到192.56.76.x的路由,使它的出口為ens32:
route add -net 192.56.76.0 netmask 255.255.255.0 dev ens32
如增加一條默認(rèn)路由,指明它的網(wǎng)關(guān)為10.0.1.1
route add default gw 10.0.1.1
如增加一條到172.20.70.0的路由,網(wǎng)關(guān)為10.0.1.2
route add -net 172.20.70.0/24 gw 10.0.1.2
如刪除默認(rèn)路由
route del default
9、telnet 提供遠(yuǎn)程登錄功能
由于telnet協(xié)議使用明文傳輸,在要求安全登錄的環(huán)境中并不適用?,F(xiàn)在通常用它來進(jìn)行網(wǎng)絡(luò)服務(wù)的端口測試:
[root@centos7 ~]# telnet 10.0.1.251 80Trying 10.0.1.251... Connected to 10.0.1.251. Escape character is '^]'. ^] #這里按了CTRL+],也可以按CTRL+C強(qiáng)行退出。telnet> quit Connection closed.
這里對方的80端口是開啟并允許通信的。當(dāng)對端端口沒有開啟時(shí):
[root@centos7 ~]# telnet 10.0.1.251 81Trying 10.0.1.251... telnet: connect to address 10.0.1.251: No route to host
當(dāng)對端拒絕連接時(shí):
[root@centos7 ~]# telnet 10.0.1.251 8085Trying 10.0.1.251... telnet: connect to address 10.0.1.251: Connection refused
10、ssh 遠(yuǎn)程登錄程序
ssh [OPTIONS]... [user@]hostname [command]
ssh的全稱是Secure Shell,在不安全的網(wǎng)絡(luò)主機(jī)間提供安全加密的通信,旨在代替其他遠(yuǎn)程登錄協(xié)議。
[root@centos7 ~]# ssh 10.0.1.253The 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 ~]# #已登錄
當(dāng)命令ssh后直接跟主機(jī)IP時(shí)表示使用默認(rèn)用戶root登錄,如果是首次登錄,需要確認(rèn)添加該主機(jī)的認(rèn)證key,當(dāng)輸入yes后,即會在本機(jī)/root/.ssh/known_hosts中增加一條該主機(jī)的記錄,下一次登錄時(shí)就不用再次確認(rèn)了。然后需要輸入用戶密碼,通過驗(yàn)證之后,我們就獲得了目的主機(jī)的一個(gè)shell,我們就可以在這個(gè)shell中執(zhí)行命令了。 在新shell中輸入exit即可退回到原shell。 如果需要頻繁登錄某主機(jī),但不想每次都輸入密碼,可以設(shè)置免密碼登錄:
[root@centos7 ~]# ssh-keygen -t rsaGenerating 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用來生成公鑰私鑰,選項(xiàng)-t指明密鑰類型。之后使用命令ssh-copy-id將公鑰發(fā)送至目標(biāo)主機(jī),這里需要輸入目標(biāo)主機(jī)用戶密碼。然后就可以免密碼登錄了:
[root@centos7 ~]# ssh 10.0.1.253Last login: Fri Nov 11 11:08:37 2016 from 10.0.1.254 [root@idc-v-71253 ~]#
還可以通過ssh遠(yuǎn)程執(zhí)行命令:
[root@centos7 ~]# ssh 10.0.1.252 "hostname"root@10.0.1.252's password: #輸入密碼 idc-v-71252 #顯示命令結(jié)果 [root@centos7 ~]# #并不登錄
或者手動(dòng)將公鑰拷貝至目標(biāo)主機(jī):
[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 ~]#
選項(xiàng)-p為登錄指定端口:
[root@centos7 temp]# ssh -p22 10.0.1.252Last login: Fri Nov 11 11:44:31 2016 from 10.0.1.254 [root@idc-v-71252 ~]#
端口設(shè)置在服務(wù)端配置文件/etc/ssh/sshd_config中,默認(rèn)端口號為22,如更改需將#Port 22去掉注釋并將22更改為需要的端口,然后重啟sshd服務(wù)service sshd restart或systemctl restart sshd。 如果需要使用另外的用戶登錄系統(tǒng)則執(zhí)行ssh user@host 我們可以用tar命令結(jié)合ssh和管道,將本地(遠(yuǎn)程)文件備份到遠(yuǎn)程(本地):
tar zc /home/temp | ssh user@host "tar xz" #本地temp目錄備份到遠(yuǎn)程ssh user@host "tar cz /home/temp" | tar xz #遠(yuǎn)程temp目錄備份到本地
選項(xiàng)-L [bind_address:]port:host:hostport設(shè)置本地端口轉(zhuǎn)發(fā)
[root@centos7 ~]# ssh -L 2222:10.0.1.252:22 10.0.1.253Last login: Mon Nov 14 10:34:43 2016 from 10.0.1.254 [root@idc-v-71253 ~]# #注意如果這里exit斷開連接,則此轉(zhuǎn)發(fā)也將終止。
此命令的意思是綁定本地端口2222,并將所有發(fā)送至此端口的數(shù)據(jù)通過中間主機(jī)10.0.1.253轉(zhuǎn)發(fā)至目標(biāo)主機(jī)10.0.1.252的22端口,此時(shí)如果用ssh登錄本機(jī)的2222端口,則實(shí)際登錄的是主機(jī)10.0.1.252
[root@centos7 ~]# ssh -p 2222 127.0.0.1Last login: Mon Nov 14 10:34:56 2016 from 10.0.1.253 [root@idc-v-71252 ~]#
這里默認(rèn)綁定的是本機(jī)的環(huán)回口127.0.0.1,如綁定到其他地址,則根據(jù)語法設(shè)置bind_address。 選項(xiàng)-N表示不執(zhí)行命令,只設(shè)置端口轉(zhuǎn)發(fā)時(shí)有用 由于上述端口轉(zhuǎn)發(fā)命令ssh -L 2222:10.0.1.252:22 10.0.1.253會登錄到中間主機(jī),并且退出后端口轉(zhuǎn)發(fā)也會終止,使用-N選項(xiàng)將不會登錄,再配合shell后臺執(zhí)行,將會是一個(gè)不錯(cuò)的設(shè)置端口轉(zhuǎn)發(fā)的選擇(但要注意對中間主機(jī)需要免密碼登錄):
[root@centos7 ~]# ssh -N -L 2222:10.0.1.252:22 10.0.1.253 &[1] 12432 [root@centos7 ~]#
命令最后的符號&表示此命令將在后臺執(zhí)行,返回的信息中[1]表示后臺命令編號,12432表示命令的PID。(關(guān)于shell后臺命令,以后的文章中會有敘述) 選項(xiàng)-R [bind_address:]port:host:hostport 設(shè)置遠(yuǎn)程端口轉(zhuǎn)發(fā) 如我們在10.0.1.253上執(zhí)行:
ssh -R 2222:10.0.1.252:22 10.0.1.254
然后在10.0.1.254上登錄:
[root@centos7 ~]# ssh -p 2222 localhostLast login: Mon Nov 14 10:40:44 2016 from 10.0.1.253 [root@idc-v-71252 ~]#
這里的意思是使遠(yuǎn)程主機(jī)10.0.1.254(相對10.0.1.253來說)監(jiān)聽端口2222,然后將所有發(fā)送至此端口的數(shù)據(jù)轉(zhuǎn)發(fā)至目標(biāo)主機(jī)10.0.1.252的端口22。之后再在10.0.1.254登錄本地(localhost)的2222端口時(shí),實(shí)際通過中間主機(jī)10.0.1.253登錄目標(biāo)主機(jī)10.0.1.252。 選項(xiàng)-o OPTION指定配置文件(如/etc/ssh/sshd_config)內(nèi)選項(xiàng) 如避免第一次登錄時(shí)輸入yes確認(rèn),可增加-o StrictHostKeyChecking=no。
11、scp 遠(yuǎn)程復(fù)制文件
scp [OPTIONS]... [[user@]host1:]file1 ... [[user@]host2:]file2
scp命令通過ssh協(xié)議將數(shù)據(jù)加密傳輸,和ssh登錄類似,需要輸入遠(yuǎn)程主機(jī)用戶密碼。 如將遠(yuǎn)程主機(jī)10.0.1.253中文件/root/tcp.sh復(fù)制到本地當(dāng)前目錄下:
[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 ~]#
命令會顯示傳輸狀態(tài)(傳輸百分比,大小,速度,用時(shí))。 將本地文件復(fù)制到遠(yuǎn)程無非是將源和目的調(diào)換位置。 選項(xiàng)-P指定遠(yuǎn)端連接端口(ssh服務(wù)端口),-o ssh_option使用ssh選項(xiàng)。 選項(xiàng)-l limit傳輸限速,limit單位為Kbit/s。 和命令cp類似,選項(xiàng)-r表示復(fù)制目錄,-p表示保留文件權(quán)限時(shí)間等
12、netstat 打印網(wǎng)絡(luò)信息
選項(xiàng)-a顯示所有端口信息:
[root@centos7 ~]# netstat -aActive 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 ....
這里只顯示部分信息 選項(xiàng)-t顯示TCP連接信息 選項(xiàng)-n顯示IP地址而不進(jìn)行域名轉(zhuǎn)換 選項(xiàng)-p顯示PID和程序名
[root@centos7 ~]# netstat -antpActive 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表示協(xié)議(包括TCP、UDP等);Recv-Q和Send-Q表示接收和發(fā)送隊(duì)列,一般都為0,如果非0則表示本地的接收或發(fā)送緩存區(qū)有數(shù)據(jù)等待處理;Local Address和Foreign Address分別表示本地地址和遠(yuǎn)端地址;State表示連接狀態(tài),對應(yīng)于TCP各種連接狀態(tài);PID/Program name表示進(jìn)程號和程序名。 選項(xiàng)-l表示只顯示狀態(tài)為LISTEN的連接
[root@centos7 ~]# netstat -ntlActive 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 ~]#
選項(xiàng)-u表示顯示UDP連接信息 選項(xiàng)-r表示顯示路由信息
[root@centos7 ~]# netstat -rKernel 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
選項(xiàng)-i顯示接口信息
[root@centos7 ~]# netstat -iKernel 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 網(wǎng)絡(luò)抓包工具
命令tcpdump捕獲某網(wǎng)絡(luò)接口符合表達(dá)式expression的數(shù)據(jù)包,并打印出數(shù)據(jù)包內(nèi)容的描述信息。 選項(xiàng)-i指定網(wǎng)卡:
[root@idc-v-71253 ~]# tcpdump -i ens33tcpdump: 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 ....
啟動(dòng)命令之后顯示出可以使用-v或-vv顯示更詳細(xì)的信息,開始從ens33捕獲數(shù)據(jù)包。輸出顯示出各個(gè)發(fā)送或接收數(shù)據(jù)包包頭信息(包括ARP、IP、TCP、UDP等等協(xié)議)。此命令并未指定expression,所以默認(rèn)將捕獲所有數(shù)據(jù)包。 如果需要將數(shù)據(jù)包捕獲然后通過其他程序(如wireshark)分析,可以使用選項(xiàng)-w file將數(shù)據(jù)寫入文件,同時(shí)還需要使用選項(xiàng)-s 0指定能夠捕獲的數(shù)據(jù)包大小為65535字節(jié),以避免數(shù)據(jù)包被截?cái)喽鵁o法被分析。 真實(shí)環(huán)境中,流經(jīng)網(wǎng)卡的數(shù)據(jù)包量是巨大的??梢允褂帽磉_(dá)式來對數(shù)據(jù)包進(jìn)行過濾,對于每個(gè)數(shù)據(jù)包,都要經(jīng)過表達(dá)式的過濾,只有表達(dá)式的值為true時(shí),才會輸出。 expression中可以包含一到多個(gè)關(guān)鍵字指定的條件,可以使用and(或&&)、or(或||)、not(或!)和括號()表示各個(gè)關(guān)鍵字間的邏輯關(guān)系,可以用>、
tcpdump -i ens33 dst host 10.0.1.251#監(jiān)視所有從端口ens33發(fā)送到主機(jī)10.0.1.251的數(shù)據(jù)包,主機(jī)也可以是主機(jī)名tcpdump -i eth0 host ! 211.161.223.70 and ! 211.161.223.71 and dst port 80#監(jiān)聽端口eth0,抓取不是來自或去到主機(jī)211.161.223.70和211.161.223.71并且目標(biāo)端口為80的包tcpdump tcp port 23 host 210.27.48.1#獲取主機(jī)210.27.48.1接收或發(fā)出的telnet包tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)>2)) != 0) and src net (183.60.190 or 122.13.220)' -s0 -i eth0 -w ipdump#抓取源或目的端口是80,且源網(wǎng)絡(luò)是(183.60.190.0/24 或者 122.13.220.0/24),并且含有數(shù)據(jù),而不是SYN,FIN以及ACK-only等不含數(shù)據(jù)的TCP數(shù)據(jù)包寫入文件ipdump#注意這里表達(dá)式使用單引號引起來以避免其中的特殊字符被shell解析而造成語法錯(cuò)誤tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and ! src and dst net 10.0.0'#只打印TCP的開始和結(jié)束包(SYN和FIN標(biāo)記),并且源和目標(biāo)網(wǎng)段均不是10.0.0.0/24tcpdump 'gateway 10.0.1.1 and ip[2:2] > 576'#表示抓取發(fā)送至網(wǎng)關(guān)10.0.1.1并且大于576字節(jié)的IP數(shù)據(jù)包
感謝各位的閱讀!關(guān)于“Linux中的網(wǎng)路命令有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。