運(yùn)維工程師必會的109個Linux命令(5)

點(diǎn)擊鏈接加入QQ群 522720170(免費(fèi)公開課、視頻應(yīng)有盡有):https://jq.qq.com/?_wv=1027&k=5C08ATe

1?網(wǎng)絡(luò)管理

1.1?Curl

Curl是Linux下一個很強(qiáng)大的http命令行工具,其功能十分強(qiáng)大。

1.1.1?讀取網(wǎng)頁

$ curl http://www.linuxidc.com

1.1.2?保存網(wǎng)頁

$ curl http://www.linuxidc.com > page.html

$ curl -o page.html http://www.linuxidc.com

1.1.3?使用的proxy服務(wù)器及其端口: -x

$ curl -x 123.45.67.89:1080 -o page.html http://www.linuxidc.com

1.1.4?使用cookie來記錄session信息

$ curl -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.linuxidc.com

這個option: -D 是把http的response里面的cookie信息存到一個特別的文件中去,

這樣,當(dāng)頁面被存到page.html的同時,cookie信息也被存到了cookie0001.txt里面了

1.1.5?下一次訪問的時候,繼續(xù)使用上次留下的cookie信息

使用option來把上次的cookie信息追加到http request里面去: -b

$ curl -x 123.45.67.89:1080 -o page1.html -D cookie0002.txt -b cookie0001.txt http://www.linuxidc.com

1.1.6?瀏覽器信息

$ curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://www.linuxidc.com

1.1.7?referer

$ curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x 123.45.67.89:1080 -e "mail.linuxidc.com" -o page.html -D cookie0001.txt http://www.linuxidc.com

這樣就可以騙對方的服務(wù)器,你是從mail.linuxidc.com點(diǎn)擊某個鏈接過來的

1.1.8?下載文件

$ curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG

$ curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG

-O 可以按照服務(wù)器上的文件名,自動存在本地

$ curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG

1.1.9?批量下載

$ curl -O http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

這樣產(chǎn)生的下載,就是

~zzh/001.JPG

~zzh/002.JPG

...

~zzh/201.JPG

~nick/001.JPG

~nick/002.JPG

...

~nick/201.JPG

1.1.10?自定義文件名的下載

curl -o #2_#1.jpg http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

這樣,自定義出來下載下來的文件名,就變成了這樣:

原來: ~zzh/001.JPG —-> 下載后: 001-zzh.JPG 原來: ~nick/001.JPG —-> 下載后: 001-nick.JPG

這樣一來就不怕文件重名啦

1.1.11?斷點(diǎn)續(xù)傳

$ curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

分塊下載,我們使用這個option就可以了: -r

舉例說明

比如我們有一個http://cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 要下載(趙老師的電話朗誦 :D )我們就可以用這樣的命令:

$ curl -r 0-10240 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &

$ curl -r 10241-20480 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &

$ curl -r 20481-40960 -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3 &

$ curl -r 40961- -o "zhao.part1" http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.MP3

這樣就可以分塊下載啦。不過你需要自己把這些破碎的文件合并起來如果你用UNIX或蘋果,用 cat zhao.part* > zhao.MP3就可以如果用的是Windows,用copy /b 來解決吧,呵呵

1.1.12?瀏覽FTP

$ curl -u name:passwd ftp://ip:port/path/file

或者大家熟悉的

$ curl ftp://name:passwd@ip:port/path/file

1.1.13?FTP上傳

上傳的option是 -T

比如我們向ftp傳一個文件:

$ curl -T localfile -u name:passwd ftp://upload_site:port/path/

1.1.14?HTTP上傳

$ curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi

注意,這時候,使用的協(xié)議是HTTP的PUT method

1.1.15?POST模式讀取網(wǎng)頁

POST模式的option則是 -d

比如,

$ curl -d "user=nickwolfe&password=12345" http://www.linuxidc.com/login.cgi

1.1.16?POST模式下的文件上傳

比如

這樣一個HTTP表單,我們要用curl進(jìn)行模擬,就該是這樣的語法:

$ curl -F upload=@localfile -F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi

1.2?finger

1.2.1?功能說明

查找并顯示用戶信息。

1.2.2?語法

finger [-lmsp][帳號名稱...]

1.2.3?補(bǔ)充說明

finger指令會去查找,并顯示指定帳號的用戶相關(guān)信息,包括本地與遠(yuǎn)端主機(jī)的用戶皆可,帳號名稱沒有大小寫的差別。單獨(dú)執(zhí)行finger指令,它會顯示本地主機(jī)現(xiàn)在所有的用戶的登陸信息,包括帳號名稱,真實(shí)姓名,登入終端機(jī),閑置時間,登入時間以及地址和電話。

1.2.4?參數(shù)

-l  列出該用戶的帳號名稱,真實(shí)姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉(zhuǎn)信地址,電子郵件狀態(tài),還有計劃文件和方案文件內(nèi)容。

-m  排除查找用戶的真實(shí)姓名。

-s  列出該用戶的帳號名稱,真實(shí)姓名,登入終端機(jī),閑置時間,登入時間以及地址和電話。

-p  列出該用戶的帳號名稱,真實(shí)姓名,用戶專屬目錄,登入所用的Shell,登入時間,轉(zhuǎn)信地址,電子郵件狀態(tài),但不顯示該用戶的計劃文件和方案文件內(nèi)容。

1.3?ftp

1.3.1?功能說明

設(shè)置文件系統(tǒng)相關(guān)功能。

1.3.2?語法

ftp [-dignv][主機(jī)名稱或IP地址]

1.3.3?補(bǔ)充說明

FTP是ARPANet的標(biāo)準(zhǔn)文件傳輸協(xié)議,該網(wǎng)絡(luò)就是現(xiàn)今Internet的前身。

1.3.4?參數(shù)

-d 詳細(xì)顯示指令執(zhí)行過程,便于排錯或分析程序執(zhí)行的情形。

-i 關(guān)閉互動模式,不詢問任何問題。

-g 關(guān)閉本地主機(jī)文件名稱支持特殊字符的擴(kuò)充特性。

-n 不使用自動登陸。

-v 顯示指令執(zhí)行過程。

1.4?ifconfig

1.4.1?功能說明

顯示或設(shè)置網(wǎng)絡(luò)設(shè)備。

1.4.2?語法

ifconfig [網(wǎng)絡(luò)設(shè)備][down up -allmulti -arp -promisc][add<地址>][del<地址>][<硬件地址>][io_addr][irq][media<網(wǎng)絡(luò)媒介類型>][mem_start<內(nèi)存地址>][metric<數(shù)目>][mtu<字節(jié)>][netmask<子網(wǎng)掩碼>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

1.4.3?補(bǔ)充說明

ifconfig可設(shè)置網(wǎng)絡(luò)設(shè)備的狀態(tài),或是顯示目前的設(shè)置。

如果提示找不到命令,可用/sbin/ifconfig

1.4.4?參數(shù)

add<地址> 設(shè)置網(wǎng)絡(luò)設(shè)備IPv6的IP地址。

del<地址> 刪除網(wǎng)絡(luò)設(shè)備IPv6的IP地址。

down 關(guān)閉指定的網(wǎng)絡(luò)設(shè)備。

<硬件地址> 設(shè)置網(wǎng)絡(luò)設(shè)備的類型與硬件地址。

io_addr 設(shè)置網(wǎng)絡(luò)設(shè)備的I/O地址。

irq 設(shè)置網(wǎng)絡(luò)設(shè)備的IRQ。

media<網(wǎng)絡(luò)媒介類型> 設(shè)置網(wǎng)絡(luò)設(shè)備的媒介類型。

mem_start<內(nèi)存地址> 設(shè)置網(wǎng)絡(luò)設(shè)備在主內(nèi)存所占用的起始地址。

metric<數(shù)目> 指定在計算數(shù)據(jù)包的轉(zhuǎn)送次數(shù)時,所要加上的數(shù)目。

mtu<字節(jié)> 設(shè)置網(wǎng)絡(luò)設(shè)備的MTU。

netmask<子網(wǎng)掩碼> 設(shè)置網(wǎng)絡(luò)設(shè)備的子網(wǎng)掩碼。

tunnel<地址> 建立IPv4與IPv6之間的隧道通信地址。

up 啟動指定的網(wǎng)絡(luò)設(shè)備。

-broadcast<地址> 將要送往指定地址的數(shù)據(jù)包當(dāng)成廣播數(shù)據(jù)包來處理。

-pointopoint<地址> 與指定地址的網(wǎng)絡(luò)設(shè)備建立直接連線,此模式具有保密功能。

-promisc 關(guān)閉或啟動指定網(wǎng)絡(luò)設(shè)備的promiscuous模式。

[IP地址] 指定網(wǎng)絡(luò)設(shè)備的IP地址。

[網(wǎng)絡(luò)設(shè)備] 指定網(wǎng)絡(luò)設(shè)備的名稱。

1.5?ip

1.5.1?功能說明

ip是iproute2軟件包里面的一個強(qiáng)大的網(wǎng)絡(luò)配置工具,它能夠替代一些傳統(tǒng)的網(wǎng)絡(luò)管理工具。例如:ifconfig、route等。

1.5.2?語法

ip [選項(xiàng)] [動作] [指令]

1.5.3?參數(shù)

動作 := { link | addr | route | rule | neigh | tunnel | maddr | mroute | monitor }

選項(xiàng) := { -V[ersion] | -s[tatistics] | -r[esolve] |-f[amily] { inet | inet6 | ipx | dnet | link } | -o[neline] }

1.5.4?裝置介面 (device) 的相關(guān)設(shè)定: ip link

ip link 可以設(shè)定與裝置 (device) 有關(guān)的相關(guān)設(shè)定,包括 MTU 以及該網(wǎng)路介面的 MAC 等等, 當(dāng)然也可以啟動 (up) 或關(guān)閉 (down) 某個網(wǎng)路介面啦!整個語法是這樣的:

[root@linux ~]# ip [-s] link show <== 單純的查閱該裝置相關(guān)的資訊

[root@linux ~]# ip link set [device] [動作與參數(shù)]

參數(shù):

show:僅顯示出這個裝置的相關(guān)內(nèi)容,如果加上 -s 會顯示更多統(tǒng)計數(shù)據(jù);

set :可以開始設(shè)定項(xiàng)目, device 指的是 eth0, eth1 等等介面代號;

動作與參數(shù):包括有底下的這些動作:

up|down :啟動 (up) 或關(guān)閉 (down) 某個介面,其他參數(shù)使用預(yù)設(shè)的乙太網(wǎng)路;

address :如果這個裝置可以更改 MAC 的話,用這個參數(shù)修改!

name :給予這個裝置一個特殊的名字;

mtu :就是最大傳輸單元??!

范例一:顯示出所有的介面資訊

[root@linux ~]# ip link show

1: lo: mtu 16436 qdisc noqueue

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

3: sit0: mtu 1480 qdisc noop

link/sit 0.0.0.0 brd 0.0.0.0

[root@linux ~]# ip -s link show eth0

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

484011792 2247372 0 0 0 0

TX: bytes packets errors dropped carrier collsns

2914104290 2867753 0 0 0 0

使用 ip link show 可以顯示出整個裝置介面的硬體相關(guān)資訊,如上所示,包括網(wǎng)卡位址(MAC)、MTU等等, 比較有趣的應(yīng)該是那個 sit0 的介面了,那個 sit0 的介面是用在 IPv4 及 IPv6 的封包轉(zhuǎn)換上的, 對於我們僅使用 IPv4 的網(wǎng)路是沒有作用的。 lo 及 sit0 都是主機(jī)內(nèi)部所自行設(shè)定的。 而如果加上 -s 的參數(shù)後,則這個網(wǎng)路卡的相關(guān)統(tǒng)計資訊就會被列出來, 包括接收 (RX) 及傳送 (TX) 的封包數(shù)量等等,詳細(xì)的內(nèi)容與 ifconfig 所輸出的結(jié)果相同的。

范例二:啟動、關(guān)閉與設(shè)定裝置的相關(guān)資訊

[root@linux ~]# ip link set eth0 up

# 啟動 eth0 這個裝置介面;

[root@linux ~]# ip link set eth0 down

# 阿就關(guān)閉??!簡單的要命~

[root@linux ~]# ip link set eth0 mtu 1000

# 更改 MTU 的值,達(dá)到 1000 bytes,單位就是 bytes ?。?/p>

更新網(wǎng)路卡的 MTU 使用 ifconfig 也可以達(dá)成?。]啥了不起,不過,如果是要更改『網(wǎng)路卡代號、 MAC 位址的資訊』的話,那可就得使用 ip 羅~不過,設(shè)定前得要先關(guān)閉該網(wǎng)路卡,否則會不成功。 如下所示:

范例三:修改網(wǎng)路卡代號、MAC 等參數(shù)

[root@linux ~]# ip link set eth0 name vbird

SIOCSIFNAME: Device or resource busy

# 因?yàn)樵撗b置目前是啟動的,所以不能這樣做設(shè)定。你應(yīng)該要這樣做:

[root@linux ~]# ip link set eth0 down <==關(guān)閉介面

[root@linux ~]# ip link set eth0 name vbird <==重新設(shè)定

[root@linux ~]# ip link show <==觀察一下

2. vbird: mtu 900 qdisc pfifo_fast qlen 1000

link/ehter 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

# 怕了吧!連網(wǎng)路卡代號都可以改變!不過,玩玩後記得改回來??!

# 因?yàn)槲覀兊?ifcfg-eth0 還是使用原本的裝置代號!避免有問題,要改回來

[root@linux ~]# ip link set vbird name eth0 <==介面改回來

[root@linux ~]# ip link set eth0 address aa:aa:aa:aa:aa:aa

[root@linux ~]# ip link show eth0

# 如果你的網(wǎng)路卡支援硬體位址 (MAC) 可以更改的話,

# 那么上面這個動作就可以更改你的網(wǎng)路卡位址了!厲害吧!

# 不過,還是那句老話,測試完之後請立刻改回來??!

在這個裝置的硬體相關(guān)資訊設(shè)定上面,包括 MTU, MAC 以及傳輸?shù)哪J降鹊龋伎梢栽谶@里設(shè)定。 有趣的是那個 address 的項(xiàng)目,那個項(xiàng)目後面接的可是硬體位址 (MAC) 而不是 IP 喔! 很容易搞錯??!切記切記!更多的硬體參數(shù)可以使用 man ip 查閱一下與 ip link 有關(guān)的設(shè)定。

1.5.5?關(guān)於額外的 IP 相關(guān)設(shè)定: ip address

如果說 ip link 是與 OSI 七層協(xié)定 的第二層資料連階層有關(guān)的話,那么 ip address (ip addr) 就是與第三層網(wǎng)路層有關(guān)的參數(shù)啦! 主要是在設(shè)定與 IP 有關(guān)的各項(xiàng)參數(shù),包括 netmask, broadcast 等等。

[root@linux ~]# ip address show <==就是查閱 IP 參數(shù)啊!

[root@linux ~]# ip address [add|del] [IP參數(shù)] [dev 裝置名] [相關(guān)參數(shù)]

參數(shù):

show :單純的顯示出介面的 IP 資訊??;

add|del :進(jìn)行相關(guān)參數(shù)的增加 (add) 或刪除 (del) 設(shè)定,主要有:

IP 參數(shù):主要就是網(wǎng)域的設(shè)定,例如 192.168.100.100/24 之類的設(shè)定喔;

dev :這個 IP 參數(shù)所要設(shè)定的介面,例如 eth0, eth1 等等;

相關(guān)參數(shù):主要有底下這些:

broadcast:設(shè)定廣播位址,如果設(shè)定值是 + 表示『讓系統(tǒng)自動計算』

label :亦即是這個裝置的別名,例如 eth0:0 就是了!

scope :這個介面的領(lǐng)域,通常是這幾個大類:

global :允許來自所有來源的連線;

site :僅支援 IPv6 ,僅允許本主機(jī)的連線;

link :僅允許本裝置自我連線;

host :僅允許本主機(jī)內(nèi)部的連線;

所以當(dāng)然是使用 global 羅!預(yù)設(shè)也是 global 啦!

范例一:顯示出所有的介面之 IP 參數(shù):

[root@linux ~]# ip address show

1: lo: mtu 16436 qdisc noqueue

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: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff

inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0

inet6 fe80::250:fcff:fe22:9acb/64 scope link

valid_lft forever preferred_lft forever

3: sit0: mtu 1480 qdisc noop

link/sit 0.0.0.0 brd 0.0.0.0

看到上面那個特殊的字體嗎?沒錯!那就是 IP 參數(shù)啦!也是 ip address 最主要的功能。 底下我們進(jìn)一步來新增虛擬的網(wǎng)路介面試看看:

范例二:新增一個介面,名稱假設(shè)為 eth0:vbird

[root@linux ~]# ip address add 192.168.50.50/24 broadcast +

> dev eth0 label eth0:vbird

[root@linux ~]# ip address show eth0

2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000

link/ether 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

inet 192.168.50.50/24 brd 192.168.50.255 scope global eth0:vbird

inet6 fe80::240:d0ff:fe13:c346/64 scope link

valid_lft forever preferred_lft forever

# 看到上面的特殊字體了吧?多出了一行新的介面,且名稱是 eth0:vbird

# 至於那個 broadcast + 也可以寫成 broadcast 192.168.50.255 啦!

[root@linux ~]# ifconfig

eth0:vbir Link encap:Ethernet HWaddr 00:40:D0:13:C3:46

inet addr:192.168.50.50 Bcast:192.168.50.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Interrupt:5 Base address:0x3e00

# 如果使用 ifconfig 就能夠看到這個怪東西了!

范例三:將剛剛的介面刪除

[root@linux ~]# ip address del 192.168.50.50/24 dev eth0

1.5.6?關(guān)於路由的相關(guān)設(shè)定: ip route

ip route 的功能幾乎與 route 這個指令差不多,但是,他還可以進(jìn)行額外的參數(shù)設(shè)計,例如 MTU 的規(guī)劃等等,相當(dāng)?shù)膹?qiáng)悍??!

[root@linux ~]# ip route show <==單純的顯示出路由的設(shè)定而已

[root@linux ~]# ip route [add|del] [IP或網(wǎng)域] [via gateway] [dev 裝置]

參數(shù):

show :單純的顯示出路由表,也可以使用 list ;

add|del :增加 (add) 或刪除 (del) 路由的意思。

IP或網(wǎng)域:可使用 192.168.50.0/24 之類的網(wǎng)域或者是單純的 IP ;

via :從那個 gateway 出去,不一定需要;

dev :由那個裝置連出去,這就需要了!

mtu :可以額外的設(shè)定 MTU 的數(shù)值喔!

范例一:顯示出目前的路由資料

[root@linux ~]# ip route show

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2

169.254.0.0/16 dev eth1 scope link

default via 192.168.1.254 dev eth1

如上表所示,最簡單的功能就是顯示出目前的路由資訊,其實(shí)跟 route 這個指令相同啦! 指示必須要注意幾個小東西:

proto:此路由的路由協(xié)定,主要有 redirect, kernel, boot, static, ra 等, 其中 kernel 指的是直接由核心判斷自動設(shè)定。

scope:路由的范圍,主要是 link ,亦即是與本裝置有關(guān)的直接連線。

再來看一下如何進(jìn)行路由的增加與刪除吧!

范例二:增加路由,主要是本機(jī)直接可溝通的網(wǎng)域

[root@linux ~]# ip route add 192.168.5.0/24 dev eth0

# 針對本機(jī)直接溝通的網(wǎng)域設(shè)定好路由,不需要透過外部的路由器

[root@linux ~]# ip route show

192.168.5.0/24 dev eth0 scope link

....以下省略....

范例三:增加可以通往外部的路由,需透過 router 喔!

[root@linux ~]# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0

[root@linux ~]# ip route show

192.168.5.0/24 dev eth0 scope link

....其他省略....

192.168.10.0/24 via 192.168.5.100 dev eth0

# 仔細(xì)看喔,因?yàn)槲矣?192.168.5.0/24 的路由存在 (我的網(wǎng)卡直接聯(lián)系),

# 所以才可以將 192.168.10.0/24 的路由丟給 192.168.5.100

# 那部主機(jī)來幫忙傳遞喔!與之前提到的 route 指令是一樣的限制!

范例四:增加預(yù)設(shè)路由

[root@linux ~]# ip route add default via 192.168.1.2 dev eth0

# 那個 192.168.1.2 就是我的預(yù)設(shè)路由器 (gateway) 的意思??! ^_^

# 真的記得,只要一個預(yù)設(shè)路由就 OK !

范例五:刪除路由

[root@linux ~]# ip route del 192.168.10.0/24

[root@linux ~]# ip route del 192.168.5.0/24

1.6?netstat

1.6.1?功能說明

顯示網(wǎng)絡(luò)狀態(tài)。

1.6.2?語法

netstat [-acCeFghilMnNoprstuvVwx][-A<網(wǎng)絡(luò)類型>][--ip]

1.6.3?補(bǔ)充說明

利用netstat指令可讓你得知整個Linux系統(tǒng)的網(wǎng)絡(luò)情況。

1.6.4?參數(shù)

-a或--all 顯示所有連線中的Socket。

-A<網(wǎng)絡(luò)類型>或--<網(wǎng)絡(luò)類型> 列出該網(wǎng)絡(luò)類型連線中的相關(guān)地址。

-c或--continuous 持續(xù)列出網(wǎng)絡(luò)狀態(tài)。

-C或--cache 顯示路由器配置的快取信息。

-e或--extend 顯示網(wǎng)絡(luò)其他相關(guān)信息。

-F或--fib 顯示FIB。

-g或--groups 顯示多重廣播功能群組組員名單。

-h或--help 在線幫助。

-i或--interfaces 顯示網(wǎng)絡(luò)界面信息表單。

-l或--listening 顯示監(jiān)控中的服務(wù)器的Socket。

-M或--masquerade 顯示偽裝的網(wǎng)絡(luò)連線。

-n或--numeric 直接使用IP地址,而不通過域名服務(wù)器。

-N或--netlink或--symbolic 顯示網(wǎng)絡(luò)硬件外圍設(shè)備的符號連接名稱。

-o或--timers 顯示計時器。

-p或--programs 顯示正在使用Socket的程序識別碼和程序名稱。

-r或--route 顯示Routing Table。

-s或--statistice 顯示網(wǎng)絡(luò)工作信息統(tǒng)計表。

-t或--tcp 顯示TCP傳輸協(xié)議的連線狀況。

-u或--udp 顯示UDP傳輸協(xié)議的連線狀況。

-v或--verbose 顯示指令執(zhí)行過程。

-V或--version 顯示版本信息。

-w或--raw 顯示RAW傳輸協(xié)議的連線狀況。

-x或--unix 此參數(shù)的效果和指定"-A unix"參數(shù)相同。

--ip或--inet 此參數(shù)的效果和指定"-A inet"參數(shù)相同。

1.7?nslookup

1.7.1?功能說明

nslookup命令的功能是查詢一臺機(jī)器的IP地址和其對應(yīng)的域名。使用權(quán)限所有用戶。它通常需要一臺域名服務(wù)器來提供域名服務(wù)。如果用戶已經(jīng)設(shè)置好域名服務(wù)器,就可以用這個命令查看不同主機(jī)的IP地址對應(yīng)的域名。

1.7.2?語法

nslookup [IP地址/域名]

1.7.3?例子

(1)在本地計算機(jī)上使用nslookup命令

$ nslookup

Default Server: name.cao.com.cn

Address: 192.168.1.9

>

在符號“>”后面輸入要查詢的IP地址域名,并回車即可。如果要退出該命令,輸入“exit”,并回車即可。

(2)使用nslookup命令測試named

輸入下面命令:

nslookup

然后就進(jìn)入交換式nslookup環(huán)境。如果named正常啟動,則nslookup會顯示當(dāng)前DNS服務(wù)器的地址和域名,否則表示named沒能正常啟動。

下面簡單介紹一些基本的DNS診斷。

◆ 檢查正向DNS解析,在nslookup提示符下輸入帶域名的主機(jī)名,如hp712.my.com,nslookup應(yīng)能顯示該主機(jī)名對應(yīng)的IP地址。如果只輸入hp712,nslookup會根據(jù)/etc/resolv.conf的定義,自動添加my.com域名,并回答對應(yīng)的IP地址。

◆檢查反向DNS解析,在nslookup提示符下輸入某個IP地址,如192.22.33.20,nslookup應(yīng)能回答該IP地址所對應(yīng)的主機(jī)名。

◆檢查MX郵件地址記錄在nslookup提示符下輸入:

set q=mx

然后輸入某個域名,輸入my.com和mail.my.com,nslookup應(yīng)能夠回答對應(yīng)的郵件服務(wù)器地址,即

support.my.com和support2.my.com。

◆檢查TXT記錄:

set type=txt

然后輸入某個域名,nslookup會顯示對應(yīng)的記錄。

1.8?ping

1.8.1?功能說明

檢測主機(jī)。

1.8.2?語法

ping [-dfnqrRv][-c<完成次數(shù)>][-i<間隔秒數(shù)>][-I<網(wǎng)絡(luò)界面>][-l<前置載入>][-p<范本樣式>][-s<數(shù)據(jù)包大小>][-t<存活數(shù)值>][主機(jī)名稱或IP地址]

1.8.3?補(bǔ)充說明

執(zhí)行ping指令會使用ICMP傳輸協(xié)議,發(fā)出要求回應(yīng)的信息,若遠(yuǎn)端主機(jī)的網(wǎng)絡(luò)功能沒有問題,就會回應(yīng)該信息,因而得知該主機(jī)運(yùn)作正常。

1.8.4?參數(shù)

-d 使用Socket的SO_DEBUG功能。

-c<完成次數(shù)> 設(shè)置完成要求回應(yīng)的次數(shù)。

-f 極限檢測。

-i<間隔秒數(shù)> 指定收發(fā)信息的間隔時間。

-I<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。

-l<前置載入> 設(shè)置在送出要求信息之前,先行發(fā)出的數(shù)據(jù)包。

-n 只輸出數(shù)值。

-p<范本樣式> 設(shè)置填滿數(shù)據(jù)包的范本樣式。

-q 不顯示指令執(zhí)行過程,開頭和結(jié)尾的相關(guān)信息除外。

-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。

-R 記錄路由過程。

-s<數(shù)據(jù)包大小> 設(shè)置數(shù)據(jù)包的大小。

-t<存活數(shù)值> 設(shè)置存活數(shù)值TTL的大小。

-v 詳細(xì)顯示指令的執(zhí)行過程。

1.9?rcp

1.9.1?功能說明

遠(yuǎn)端復(fù)制文件或目錄。

1.9.2?語法

rcp [-pr][源文件或目錄][目標(biāo)文件或目錄] 或 rcp [-pr][源文件或目錄...][目標(biāo)文件]

1.9.3?補(bǔ)充說明

rcp指令用在遠(yuǎn)端復(fù)制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經(jīng)存在的目錄,則它灰把前面指定的所有文件或目錄復(fù)制到該目錄中。

1.9.4?參數(shù)

-p  保留源文件或目錄的屬性,包括擁有者,所屬群組,權(quán)限與時間。

-r  遞歸處理,將指定目錄下的文件與子目錄一并處理。

1.10?route

1.10.1?功能說明

route表示手工產(chǎn)生、修改和查看路由表。

1.10.2?語法

#route [-add][-net|-host] targetaddress [-netmask Nm][dev]If]

#route [-delete][-net|-host] targetaddress [gw Gw] [-netmask Nm] [dev]If]

1.10.3?參數(shù)

-add:增加路由。

-delete:刪除路由。

-net:路由到達(dá)的是一個網(wǎng)絡(luò),而不是一臺主機(jī)。

-host:路由到達(dá)的是一臺主機(jī)。

-netmask Nm:指定路由的子網(wǎng)掩碼。

gw:指定路由的網(wǎng)關(guān)。

[dev]If:強(qiáng)迫路由鏈指定接口。

1.10.4?例子

route add -net 202.96.96.0 -netmask 255.255.255.0 gw 192.168.1.10 dev eth0

表示到202.96.96.0/255.255.255.0這個網(wǎng)絡(luò)的信息通過你的第一塊網(wǎng)卡發(fā)送, 默認(rèn)網(wǎng)關(guān)的地址是192.168.1.10

1.11?tcpdump

1.11.1?功能說明

傾倒網(wǎng)絡(luò)傳輸數(shù)據(jù)。

1.11.2?語法

tcpdump [-adeflnNOpqStvx][-c<數(shù)據(jù)包數(shù)目>][-dd][-ddd][-F<表達(dá)文件>][-i<網(wǎng)絡(luò)界面>][-r<數(shù)據(jù)包文件>][-s<數(shù)據(jù)包大小>][-tt][-T<數(shù)據(jù)包類型>][-vv][-w<數(shù)據(jù)包文件>][輸出數(shù)據(jù)欄位]

1.11.3?補(bǔ)充說明

執(zhí)行tcpdump指令可列出經(jīng)過指定網(wǎng)絡(luò)界面的數(shù)據(jù)包文件頭,在Linux操作系統(tǒng)中,你必須是系統(tǒng)管理員。

1.11.4?參數(shù)

-a 嘗試將網(wǎng)絡(luò)和廣播地址轉(zhuǎn)換成名稱。

-c<數(shù)據(jù)包數(shù)目> 收到指定的數(shù)據(jù)包數(shù)目后,就停止進(jìn)行傾倒操作。

-d 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成可閱讀的格式,并傾倒到標(biāo)準(zhǔn)輸出。

-dd 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成C語言的格式,并傾倒到標(biāo)準(zhǔn)輸出。

-ddd 把編譯過的數(shù)據(jù)包編碼轉(zhuǎn)換成十進(jìn)制數(shù)字的格式,并傾倒到標(biāo)準(zhǔn)輸出。

-e 在每列傾倒資料上顯示連接層級的文件頭。

-f 用數(shù)字顯示網(wǎng)際網(wǎng)絡(luò)地址。

-F<表達(dá)文件> 指定內(nèi)含表達(dá)方式的文件。

-i<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)截面送出數(shù)據(jù)包。

-l 使用標(biāo)準(zhǔn)輸出列的緩沖區(qū)。

-n 不把主機(jī)的網(wǎng)絡(luò)地址轉(zhuǎn)換成名字。

-N 不列出域名。

-O 不將數(shù)據(jù)包編碼最佳化。

-p 不讓網(wǎng)絡(luò)界面進(jìn)入混雜模式。

-q 快速輸出,僅列出少數(shù)的傳輸協(xié)議信息。

-r<數(shù)據(jù)包文件> 從指定的文件讀取數(shù)據(jù)包數(shù)據(jù)。

-s<數(shù)據(jù)包大小> 設(shè)置每個數(shù)據(jù)包的大小。

-S 用絕對而非相對數(shù)值列出TCP關(guān)聯(lián)數(shù)。

-t 在每列傾倒資料上不顯示時間戳記。

-tt 在每列傾倒資料上顯示未經(jīng)格式化的時間戳記。

-T<數(shù)據(jù)包類型> 強(qiáng)制將表達(dá)方式所指定的數(shù)據(jù)包轉(zhuǎn)譯成設(shè)置的數(shù)據(jù)包類型。

-v 詳細(xì)顯示指令執(zhí)行過程。

-vv 更詳細(xì)顯示指令執(zhí)行過程。

-x 用十六進(jìn)制字碼列出數(shù)據(jù)包資料。

-w<數(shù)據(jù)包文件> 把數(shù)據(jù)包數(shù)據(jù)寫入指定的文件。

1.12?telnet

1.12.1?功能說明

遠(yuǎn)端登入。

1.12.2?語法

telnet [-8acdEfFKLrx][-b<主機(jī)別名>][-e<脫離字符>][-k<域名>][-l<用戶名稱>][-n<記錄文件>][-S<服務(wù)類型>][-X<認(rèn)證形態(tài)>][主機(jī)名稱或IP地址<通信端口>]

1.12.3?補(bǔ)充說明

執(zhí)行telnet指令開啟終端機(jī)階段作業(yè),并登入遠(yuǎn)端主機(jī)。

1.12.4?參數(shù)

-8 允許使用8位字符資料,包括輸入與輸出。

-a 嘗試自動登入遠(yuǎn)端系統(tǒng)。

-b<主機(jī)別名> 使用別名指定遠(yuǎn)端主機(jī)名稱。

-c 不讀取用戶專屬目錄里的.telnetrc文件。

-d 啟動排錯模式。

-e<脫離字符> 設(shè)置脫離字符。

-E 濾除脫離字符。

-f 此參數(shù)的效果和指定"-F"參數(shù)相同。

-F 使用Kerberos V5認(rèn)證時,加上此參數(shù)可把本地主機(jī)的認(rèn)證數(shù)據(jù)上傳到遠(yuǎn)端主機(jī)。

-k<域名> 使用Kerberos認(rèn)證時,加上此參數(shù)讓遠(yuǎn)端主機(jī)采用指定的領(lǐng)域名,而非該主機(jī)的域名。

-K 不自動登入遠(yuǎn)端主機(jī)。

-l<用戶名稱> 指定要登入遠(yuǎn)端主機(jī)的用戶名稱。

-L 允許輸出8位字符資料。

-n<記錄文件> 指定文件記錄相關(guān)信息。

-r 使用類似rlogin指令的用戶界面。

-S<服務(wù)類型> 設(shè)置telnet連線所需的IP TOS信息。

-x 假設(shè)主機(jī)有支持?jǐn)?shù)據(jù)加密的功能,就使用它。

-X<認(rèn)證形態(tài)> 關(guān)閉指定的認(rèn)證形態(tài)。

1.13?traceroute

1.13.1?功能說明

顯示數(shù)據(jù)包到主機(jī)間的路徑。

1.13.2?語法

traceroute [-dFlnrvx][-f<存活數(shù)值>][-g<網(wǎng)關(guān)>...][-i<網(wǎng)絡(luò)界面>][-m<存活數(shù) 值>][-p<通信端口>][-s<來源地址>][-t<服務(wù)類型>][-w<超時秒數(shù)>][主 機(jī)名稱或IP地址][數(shù)據(jù)包大小]

1.13.3?補(bǔ)充說明

traceroute指令讓你追蹤網(wǎng)絡(luò)數(shù)據(jù)包的路由途徑,預(yù)設(shè)數(shù)據(jù)包大小是40Bytes,用戶可另行設(shè)置。

1.13.4?參數(shù)

-d 使用Socket層級的排錯功能。

-f<存活數(shù)值> 設(shè)置第一個檢測數(shù)據(jù)包的存活數(shù)值TTL的大小。

-F 設(shè)置勿離斷位。

-g<網(wǎng)關(guān)> 設(shè)置來源路由網(wǎng)關(guān),最多可設(shè)置8個。

-i<網(wǎng)絡(luò)界面> 使用指定的網(wǎng)絡(luò)界面送出數(shù)據(jù)包。

-I 使用ICMP回應(yīng)取代UDP資料信息。

-m<存活數(shù)值> 設(shè)置檢測數(shù)據(jù)包的最大存活數(shù)值TTL的大小。

-n 直接使用IP地址而非主機(jī)名稱。

-p<通信端口> 設(shè)置UDP傳輸協(xié)議的通信端口。

-r 忽略普通的Routing Table,直接將數(shù)據(jù)包送到遠(yuǎn)端主機(jī)上。

-s<來源地址> 設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址。

-t<服務(wù)類型> 設(shè)置檢測數(shù)據(jù)包的TOS數(shù)值。

-v 詳細(xì)顯示指令的執(zhí)行過程。

-w<超時秒數(shù)> 設(shè)置等待遠(yuǎn)端主機(jī)回報的時間。

-x 開啟或關(guān)閉數(shù)據(jù)包的正確性檢驗(yàn)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容