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

1 網絡管理

1.1 Curl

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

1.1.1 讀取網頁

$ curl http://www.linuxidc.com

1.1.2 保存網頁

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

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

1.1.3 使用的proxy服務器及其端口: -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信息存到一個特別的文件中去,

這樣,當頁面被存到page.html的同時,cookie信息也被存到了cookie0001.txt裡面了

1.1.5 下一次訪問的時候,繼續使用上次留下的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

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

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 可以按照服務器上的文件名,自動存在本地

$ 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

這樣產生的下載,就是

~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 斷點續傳

$ 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

注意,這時候,使用的協議是HTTP的PUT method

1.1.15 POST模式讀取網頁

POST模式的option則是 -d

比如,

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

1.1.16 POST模式下的文件上傳

比如

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

$ 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

補充說明

finger指令會去查找,並顯示指定帳號的用戶相關信息,包括本地與遠端主機的用戶皆可,帳號名稱沒有大小寫的差別。單獨執行finger指令,它會顯示本地主機現在所有的用戶的登陸信息,包括帳號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話。

1.2.4 參數

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

-m  排除查找用戶的真實姓名。

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

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

1.3 ftp

1.3.1 功能說明

設置文件系統相關功能。

1.3.2 語法

ftp [-dignv][主機名稱或IP地址]

1.3.3 補充說明

FTP是ARPANet的標準文件傳輸協議,該網絡就是現今Internet的前身。

1.3.4 參數

-d 詳細顯示指令執行過程,便於排錯或分析程序執行的情形。

-i 關閉互動模式,不詢問任何問題。

-g 關閉本地主機文件名稱支持特殊字符的擴充特性。

-n 不使用自動登陸。

-v 顯示指令執行過程。

1.4 ifconfig

1.4.1

功能說明

顯示或設置網絡設備。

1.4.2 語法

ifconfig [網絡設備][down up -allmulti -arp -promisc][add][del][][io_addr][irq][media][mem_start][metric][mtu][netmask][tunnel][-broadcast][-pointopoint][IP地址]

1.4.3 補充說明

ifconfig可設置網絡設備的狀態,或是顯示目前的設置。

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

1.4.4 參數

add 設置網絡設備IPv6的IP地址。

del 刪除網絡設備IPv6的IP地址。

down 關閉指定的網絡設備。

設置網絡設備的類型與硬件地址。

io_addr 設置網絡設備的I/O地址。

irq 設置網絡設備的IRQ。

media 設置網絡設備的媒介類型。

mem_start 設置網絡設備在主內存所佔用的起始地址。

metric 指定在計算數據包的轉送次數時,所要加上的數目。

mtu 設置網絡設備的MTU。

netmask 設置網絡設備的子網掩碼。

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

up 啟動指定的網絡設備。

-broadcast 將要送往指定地址的數據包當成廣播數據包來處理。

-pointopoint 與指定地址的網絡設備建立直接連線,此模式具有保密功能。

-promisc 關閉或啟動指定網絡設備的promiscuous模式。

[IP地址] 指定網絡設備的IP地址。

[網絡設備] 指定網絡設備的名稱。

1.5 ip

1.5.1 功能說明

ip是iproute2軟件包裡面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具。例如:ifconfig、route等。

1.5.2 語法

ip [選項] [動作] [指令]

1.5.3 參數

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

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

1.5.4 裝置介面 (device) 的相關設定: ip link

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

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

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

參數:

show:僅顯示出這個裝置的相關內容,如果加上 -s 會顯示更多統計數據;

set :可以開始設定項目, device 指的是 eth0, eth1 等等介面代號;

動作與參數:包括有底下的這些動作:

up|down :啟動 (up) 或關閉 (down) 某個介面,其他參數使用預設的乙太網路;

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

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 可以顯示出整個裝置介面的硬體相關資訊,如上所示,包括網卡位址(MAC)、MTU等等, 比較有趣的應該是那個 sit0 的介面了,那個 sit0 的介面是用在 IPv4 及 IPv6 的封包轉換上的, 對於我們僅使用 IPv4 的網路是沒有作用的。 lo 及 sit0 都是主機內部所自行設定的。 而如果加上 -s 的參數後,則這個網路卡的相關統計資訊就會被列出來, 包括接收 (RX) 及傳送 (TX) 的封包數量等等,詳細的內容與 ifconfig 所輸出的結果相同的。

範例二:啟動、關閉與設定裝置的相關資訊

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

# 啟動 eth0 這個裝置介面;

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

# 阿就關閉啊!簡單的要命~

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

# 更改 MTU 的值,達到 1000 bytes,單位就是 bytes 啊!

更新網路卡的 MTU 使用 ifconfig 也可以達成啊!沒啥了不起,不過,如果是要更改『網路卡代號、 MAC 位址的資訊』的話,那可就得使用 ip 羅~不過,設定前得要先關閉該網路卡,否則會不成功。 如下所示:

範例三:修改網路卡代號、MAC 等參數

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

SIOCSIFNAME: Device or resource busy

# 因為該裝置目前是啟動的,所以不能這樣做設定。你應該要這樣做:

[root@linux ~]# ip link set eth0 down <==關閉介面

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

[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

# 怕了吧!連網路卡代號都可以改變!不過,玩玩後記得改回來啊!

# 因為我們的 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

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

# 那麼上面這個動作就可以更改你的網路卡位址了!厲害吧!

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

在這個裝置的硬體相關資訊設定上面,包括 MTU, MAC 以及傳輸的模式等等,都可以在這裡設定。 有趣的是那個 address 的項目,那個項目後面接的可是硬體位址 (MAC) 而不是 IP 喔! 很容易搞錯啊!切記切記!更多的硬體參數可以使用 man ip 查閱一下與 ip link 有關的設定。

1.5.5 關於額外的 IP 相關設定: ip address

如果說 ip link 是與 OSI 七層協定 的第二層資料連階層有關的話,那麼 ip address (ip addr) 就是與第三層網路層有關的參數啦! 主要是在設定與 IP 有關的各項參數,包括 netmask, broadcast 等等。

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

[root@linux ~]# ip address [add|del] [IP參數] [dev 裝置名] [相關參數]

參數:

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

add|del :進行相關參數的增加 (add) 或刪除 (del) 設定,主要有:

IP 參數:主要就是網域的設定,例如 192.168.100.100/24 之類的設定喔;

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

相關參數:主要有底下這些:

broadcast:設定廣播位址,如果設定值是 + 表示『讓系統自動計算』

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

scope :這個介面的領域,通常是這幾個大類:

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

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

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

host :僅允許本主機內部的連線;

所以當然是使用 global 羅!預設也是 global 啦!

範例一:顯示出所有的介面之 IP 參數:

[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 參數啦!也是 ip address 最主要的功能。 底下我們進一步來新增虛擬的網路介面試看看:

範例二:新增一個介面,名稱假設為 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 關於路由的相關設定: ip route

ip route 的功能幾乎與 route 這個指令差不多,但是,他還可以進行額外的參數設計,例如 MTU 的規劃等等,相當的強悍啊!

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

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

參數:

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

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

IP或網域:可使用 192.168.50.0/24 之類的網域或者是單純的 IP ;

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

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

mtu :可以額外的設定 MTU 的數值喔!

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

[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

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

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

scope:路由的範圍,主要是 link ,亦即是與本裝置有關的直接連線。

再來看一下如何進行路由的增加與刪除吧!

範例二:增加路由,主要是本機直接可溝通的網域

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

# 針對本機直接溝通的網域設定好路由,不需要透過外部的路由器

[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

# 仔細看喔,因為我有 192.168.5.0/24 的路由存在 (我的網卡直接聯繫),

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

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

範例四:增加預設路由

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

# 那個 192.168.1.2 就是我的預設路由器 (gateway) 的意思啊! ^_^

# 真的記得,只要一個預設路由就 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 功能說明

顯示網絡狀態。

1.6.2 語法

netstat [-acCeFghilMnNoprstuvVwx][-A][--ip]

1.6.3 補充說明

利用netstat指令可讓你得知整個Linux系統的網絡情況。

1.6.4 參數

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

-A或-- 列出該網絡類型連線中的相關地址。

-c或--continuous 持續列出網絡狀態。

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

-e或--extend 顯示網絡其他相關信息。

-F或--fib 顯示FIB。

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

-h或--help 在線幫助。

-i或--interfaces 顯示網絡界面信息表單。

-l或--listening 顯示監控中的服務器的Socket。

-M或--masquerade 顯示偽裝的網絡連線。

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

-N或--netlink或--symbolic 顯示網絡硬件外圍設備的符號連接名稱。

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

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

-r或--route 顯示Routing Table。

-s或--statistice 顯示網絡工作信息統計表。

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

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

-v或--verbose 顯示指令執行過程。

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

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

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

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

1.7 nslookup

1.7.1 功能說明

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

1.7.2 語法

nslookup [IP地址/域名]

1.7.3 例子

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

$ nslookup

Default Server: name.cao.com.cn

Address: 192.168.1.9

>

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

(2)使用nslookup命令測試named

輸入下面命令:

nslookup

然後就進入交換式nslookup環境。如果named正常啟動,則nslookup會顯示當前DNS服務器的地址和域名,否則表示named沒能正常啟動。

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

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

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

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

set q=mx

然後輸入某個域名,輸入my.com和mail.my.com,nslookup應能夠回答對應的郵件服務器地址,即

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

◆檢查TXT記錄:

set type=txt

然後輸入某個域名,nslookup會顯示對應的記錄。

1.8 ping

1.8.1 功能說明

檢測主機。

1.8.2 語法

ping [-dfnqrRv][-c][-i][-I][-l][-p][-s][-t][主機名稱或IP地址]

1.8.3 補充說明

執行ping指令會使用ICMP傳輸協議,發出要求回應的信息,若遠端主機的網絡功能沒有問題,就會回應該信息,因而得知該主機運作正常。

1.8.4 參數

-d 使用Socket的SO_DEBUG功能。

-c 設置完成要求回應的次數。

-f 極限檢測。

-i 指定收發信息的間隔時間。

-I 使用指定的網絡界面送出數據包。

-l 設置在送出要求信息之前,先行發出的數據包。

-n 只輸出數值。

-p 設置填滿數據包的範本樣式。

-q 不顯示指令執行過程,開頭和結尾的相關信息除外。

-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。

-R 記錄路由過程。

-s 設置數據包的大小。

-t 設置存活數值TTL的大小。

-v 詳細顯示指令的執行過程。

1.9 rcp

1.9.1 功能說明

遠端複製文件或目錄。

1.9.2 語法

rcp [-pr][源文件或目錄][目標文件或目錄] 或 rcp [-pr][源文件或目錄...][目標文件]

1.9.3 補充說明

rcp指令用在遠端複製文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則它灰把前面指定的所有文件或目錄複製到該目錄中。

1.9.4 參數

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

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

1.10 route

1.10.1 功能說明

route表示手工產生、修改和查看路由表。

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 參數

-add:增加路由。

-delete:刪除路由。

-net:路由到達的是一個網絡,而不是一臺主機。

-host:路由到達的是一臺主機。

-netmask Nm:指定路由的子網掩碼。

gw:指定路由的網關。

[dev]If:強迫路由鏈指定接口。

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這個網絡的信息通過你的第一塊網卡發送, 默認網關的地址是192.168.1.10

1.11 tcpdump

1.11.1 功能說明

傾倒網絡傳輸數據。

1.11.2 語法

tcpdump [-adeflnNOpqStvx][-c][-dd][-ddd][-F][-i][-r][-s][-tt][-T][-vv][-w][輸出數據欄位]

1.11.3 補充說明

執行tcpdump指令可列出經過指定網絡界面的數據包文件頭,在Linux操作系統中,你必須是系統管理員。

1.11.4 參數

-a 嘗試將網絡和廣播地址轉換成名稱。

-c 收到指定的數據包數目後,就停止進行傾倒操作。

-d 把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出。

-dd 把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出。

-ddd 把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標準輸出。

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

-f 用數字顯示網際網絡地址。

-F 指定內含表達方式的文件。

-i 使用指定的網絡截面送出數據包。

-l 使用標準輸出列的緩衝區。

-n 不把主機的網絡地址轉換成名字。

-N 不列出域名。

-O 不將數據包編碼最佳化。

-p 不讓網絡界面進入混雜模式。

-q 快速輸出,僅列出少數的傳輸協議信息。

-r 從指定的文件讀取數據包數據。

-s 設置每個數據包的大小。

-S 用絕對而非相對數值列出TCP關聯數。

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

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

-T 強制將表達方式所指定的數據包轉譯成設置的數據包類型。

-v 詳細顯示指令執行過程。

-vv 更詳細顯示指令執行過程。

-x 用十六進制字碼列出數據包資料。

-w 把數據包數據寫入指定的文件。

1.12 telnet

1.12.1 功能說明

遠端登入。

1.12.2 語法

telnet [-8acdEfFKLrx][-b][-e][-k][-l][-n][-S][-X][主機名稱或IP地址]

1.12.3 補充說明

執行telnet指令開啟終端機階段作業,並登入遠端主機。

1.12.4 參數

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

-a 嘗試自動登入遠端系統。

-b 使用別名指定遠端主機名稱。

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

-d 啟動排錯模式。

-e 設置脫離字符。

-E 濾除脫離字符。

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

-F 使用Kerberos V5認證時,加上此參數可把本地主機的認證數據上傳到遠端主機。

-k 使用Kerberos認證時,加上此參數讓遠端主機採用指定的領域名,而非該主機的域名。

-K 不自動登入遠端主機。

-l 指定要登入遠端主機的用戶名稱。

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

-n 指定文件記錄相關信息。

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

-S 設置telnet連線所需的IP TOS信息。

-x 假設主機有支持數據加密的功能,就使用它。

-X 關閉指定的認證形態。

1.13 traceroute

1.13.1 功能說明

顯示數據包到主機間的路徑。

1.13.2 語法

traceroute [-dFlnrvx][-f][-g...][-i][-m][-p][-s][-t][-w][主 機名稱或IP地址][數據包大小]

1.13.3 補充說明

traceroute指令讓你追蹤網絡數據包的路由途徑,預設數據包大小是40Bytes,用戶可另行設置。

1.13.4 參數

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

-f 設置第一個檢測數據包的存活數值TTL的大小。

-F 設置勿離斷位。

-g 設置來源路由網關,最多可設置8個。

-i 使用指定的網絡界面送出數據包。

-I 使用ICMP回應取代UDP資料信息。

-m 設置檢測數據包的最大存活數值TTL的大小。

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

-p 設置UDP傳輸協議的通信端口。

-r 忽略普通的Routing Table,直接將數據包送到遠端主機上。

-s 設置本地主機送出數據包的IP地址。

-t 設置檢測數據包的TOS數值。

-v 詳細顯示指令的執行過程。

-w 設置等待遠端主機回報的時間。

-x 開啟或關閉數據包的正確性檢驗。


分享到:


相關文章: