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][
1.4.3 補充說明
ifconfig可設置網絡設備的狀態,或是顯示目前的設置。
如果提示找不到命令,可用/sbin/ifconfig。
1.4.4 參數
add 設置網絡設備IPv6的IP地址。
del 刪除網絡設備IPv6的IP地址。
down 關閉指定的網絡設備。
io_addr 設置網絡設備的I/O地址。
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:
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:
link/ether 00:50:fc:22:9a:cb brd ff:ff:ff:ff:ff:ff
3: sit0:
link/sit 0.0.0.0 brd 0.0.0.0
[root@linux ~]# ip -s link show eth0
2: eth0:
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:
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:
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:
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:
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 開啟或關閉數據包的正確性檢驗。
閱讀更多 測試幫日記 的文章