tracert命令的格式爲:tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] [-R] [-S srcaddr] [-4] [-6] target_name。linux
①、-dnginx
表示不將地址解析成主機名。windows
②、-h maximum_hops安全
表示搜索目標的最大躍點數。ruby
③、-j host-list服務器
表示與主機列表一塊兒的鬆散源路由(僅適用於IPv4)。markdown
④、-w timeout網絡
表示等待每一個回覆的超時間(以毫秒爲單位)。app
⑤、-Rdom
表示跟蹤往返行程路徑(僅適用於IPv6)。
⑥、-S srcaddr
表示要使用的源地址(僅適用於IPv6)。
⑦、-4和-6
表示強制使用IPv4或者IPv6。
⑧、target_name
表示目標主機的名稱或者IP地址。
在Linux中配置IP地址的方法有如下這麼幾種:
ifconfig
命令臨時配置IP地址(臨時配置IP地址,即當咱們重啓計算機或重啓網絡服務後,配置將失效)setup
工具永久配置IP地址(setup
工具是由Red Hat
開發的,所以在正常狀況下,該工具只能用於Red Hat
系列的Linux系統)(setup
工具——紅帽專有圖形化工具setup
設置IP地址)(使用setup命令設置完網絡後須要使用service network restart
重啓網絡)ifconfig
命令 ifconfig
命令能夠查看與配置網絡狀態。命令結果以下:
eth0 Link encap:Ethernet HWaddr 00:0C:29:11:30:39 inet addr:192.168.134.129 Bcast:192.168.134.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe11:3039/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:19731 errors:0 dropped:0 overruns:0 frame:0 TX packets:502 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1248492 (1.1 MiB) TX bytes:58905 (57.5 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo
表示本地迴環網卡的信息) 使用ifconfig
命令還能夠臨時設置某一網卡的IP地址和子網掩碼。如:
ifconfig eth0 192.168.0.200 netmask 255.255.255.0
查看第一張網卡的網卡信息:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 HWADDR=00:0C:29:11:30:39 TYPE=Ethernet UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp
配置 | 說明 |
---|---|
DEVICE=eth0 |
網卡設備名,eth0表示第一張網卡 |
BOOTPROTO=none |
是否自動獲取IP(none、static、dhcp),當值爲dhcp時,只需配置上述例子中的那幾項就能夠聯網 |
HWADDR=00:0C:29:11:30:39 |
MAC地址 |
NM_CONTROLLED=yes |
是否能夠由Network Manager圖形管理工具託管 |
ONBOOT=yes |
是否隨網絡服務啓動當前網卡生效(在CentOS 6 以上的版本中ONBOOT是默認關閉的。) |
TYPE=Ethernet |
網絡類型,這裏爲以太網 |
UUID=5ab36190-a5df-4bf1-94d8-6c126afd05f1 |
惟一識別碼 |
IPADDR=192.168.0.200 |
IP地址 |
NETMASK=255.255.255.0 |
子網掩碼 |
GATEWAY=192.168.0.1 |
網關 |
DNS1=202.106.0.20 |
DNS |
IPV6INIT=no |
IPv6是否啓用,這裏設置爲不啓用 |
USERCTL=no |
是否容許非root用戶控制此網卡,這裏爲不容許 |
說明: 1.自動獲取IP的條件是:必須在局域網內存在DHCP服務器。 2.相同UUID網絡配置的計算機會致使互相不能上網。
查看主機名文件:
vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME=localhost.localdomain
其中:
1. /etc/sysconfig/network
該文件中NETWORKING=no
時主機將沒法鏈接網絡。
2. Windows下,在同一局域網內相同主機名之間是不能進行傳遞的。要求在局域網內是不能有相同主機名的主機的。而在Linux中局域網內是能夠有相同主機名的主機的,如默認主機名:localhost.localdomain
。
3. 修改/etc/sysconfig/network
文件中的主機名後須要重啓計算機才能生效。使用hostname 主機名
命令能夠臨時更改主機名後,重啓計算機後將失效。經過hostname
命令能夠查看當前主機名。
查看DNS配置文件:
vi /etc/resolv.conf
; generated by /sbin/dhclient-script search localdomain nameserver 192.168.134.2
其中最重要的是nameserver
這一項,設置的是域名服務器的地址,多個域名服務器,則在後續添加空格繼續補充域名服務器的地址,或者另起一行作相似的nameserver
配置。
(以CentOS爲例)
1. 配置Linux IP地址;
2. CentOS 6以上的系統修改修改網絡配置以啓動網卡vi /etc/sysconfig/network-scripts/ifcfg-eth0
將ONBOOT
選項的值修改成yes
,重啓網絡服務service network restart
;
3. 對於網絡配置文件中UUID出現相同的狀況,須要修改UUID的值,修改方式以下:
1. `vi /etc/sysconfig/network-scripts/ifcfg-eth0`,刪除MAC地址行 2. `rm -rf /etc/udev/rules.d/70-persistent-net.rules`,刪除網卡和MAC地址綁定文件 3. 重啓當前系統
5. 修改橋接的網卡,在「虛擬網絡編輯器」窗口中選擇VMnet0
,修改橋接模式下橋接的網卡,這裏選擇能夠上網的網卡。
修改網卡配置文件,以下:
DEVICE=eth0 HWADDR=00:0C:29:FC:8D:E6 TYPE=Ethernet #UUID=343b502d-2249-4e33-9187-9abc285b9292 UUID=31b6504c-7ddd-4b74-a51e-46cd34ed182d ONBOOT=yes NM_CONTROLLED=yes #BOOTPROTO=dhcp BOOTPROTO=static IPADDR=11.10.1.192 NETMASK=255.255.255.0 GATEWAY=10.8.8.1 DNS1=114.114.114.114 DNS2=8.8.8.8 IPV6INIT=no USERCTL=no
重啓網卡:
service network restart
這裏,ping外網地址會失敗。使用route
命令發現,默認網關沒有設置成功。緣由不明(DHCP模式下,動態獲取IP,默認網關10.8.8.1
設置成功,能夠正常上網。)
爲配置靜態IP的狀況下,解決默認網關未設置成功的問題,使用route命令臨時修改默認網關:
臨時修改默認網關(linux中配置網絡出現 SIOCADDRT: No such process):
sudo route add 10.8.8.1/32 dev eth0 sudo route add default gw 10.8.8.1
ifconfig
命令 ifconfig
:查看網絡狀態(能查看IP地址和子網掩碼,可是不能查看網關和DNS地址),還能夠臨時設置某一網卡的IP地址和子網掩碼。ifdown 網卡設備名
:禁用該網卡設備。 ifup 網卡設備名
:啓用該網卡設備。netstat 選項
(能夠用於查看當前計算機開放的端口,從而判斷當前計算機啓動了哪些服務) -t:列出TCP協議端口 -u:列出UPD協議端口 -n:不使用域名和服務名,而使用IP地址和端口號 -l:僅列出在監聽狀態網絡服務 -a:列出全部的網絡鏈接 -r:列出路由列表,功能和route命令一隻 經常使用組合:-tuln、-an、-rn 查看某一狀態下的網絡鏈接狀況,如:netstat -an | grep ESTABLISHED 查看某一網絡狀態下的行數(查看有多少臺計算機鏈接到當前服務器),如:netstat -an | grep ESTABLISHED | wc -l netstat -rn 和 route -n 命令功能同樣,結果一致。經過這樣的命令查看當前計算機的網關地址。
logout
命令。在Windows中則操做菜單欄點擊註銷
。) 4. route
命令
route -n
:查看路由列表(能夠看到當前計算機的網關)。
route add default gw 192.168.1.1
:臨時設定網關。
route del default gw 192.168.1.1
:刪除設定的網關。
5. 域名解析命令
nslookup [主機名或IP]
:進行域名或IP地址的解析。
nslookup
> server # 查看本機DNS服務器 > exit # 退出
nslookup
已不存在,須要進行安裝,參考:CentOS 6.x 安裝 nslookup 的步驟 (與 yum 如何查詢套件) 。在不想安裝nslookup
的狀況下,又想查看本機配置的DNS服務器地址,可使用cat /etc/resolv.conf
命令。)ping
命令 ping [選項] ip或域名
:探測指定IP或域名的網絡情況。選項:
-c 次數:指定ping發送包的次數
2. telnet
命令
telnet [域名或IP] [端口]
:遠程管理與端口探測命令。(telnet
的遠程鏈接是極不安全的,它是明文傳遞數據,並未將數據加密。因此咱們並不建議使用telnet
命令進行遠程管理,可是咱們能夠經過該命令探測某個計算機中是否開放了某一端口。如:telnet 192.168.0.1 80
)
3. traceroute
命令
traceroute [選項] IP或域名
:路由跟蹤,查看訪問某一IP或域名時通過的路由(路由路徑)。(該命令可能須要單獨安裝)
選項:
-n 使用IP而不使用域名顯示
wget
命令 wget 下載地址
:下載命令。
5. tcpdump
命令
tcpdump
命令:用於監聽某一網卡下某一服務的數據包接收狀況(截獲數據包-抓包)。如:tcpdump -i eth0 -nnX port 21
。
選項:
-i 指定監聽的網卡 -nn 將數據包中的域名與服務轉爲IP和端口顯示 -X 以十六進制和ASCII碼顯示數據包內容 port 指定監聽的端口
下面咱們逐步介紹幾個經常使用的命令:
當您的機器不能訪問Internet,首先確認是不是本地局域網的故障。假定局域網的代理服務器IP地址爲202.168.0.1,您可使用ping 202.168.0.1命令查看本機是否和代理服務器聯通。此外能夠測試本機的網卡是否正常工做,使用 ping 127.0.0.1命令。通常返回ping的信息就表示本地到該主機的網絡線路連通。
可是不少服務器爲了防止攻擊,通常會關閉對ping的響應。因此ping通常做爲測試連通性使用。ping命令後,會接收到對方發送的回饋信息,其中記錄着對方的IP地址和TTL。TTL是該字段指定IP包被路由器丟棄以前容許經過的最大網段數量。TTL是IPv4包頭的一個8 bit字段。例如IP包在服務器中發送前設置的TTL是64,你使用ping命令後,獲得服務器反饋的信息,其中的TTL爲56,說明途中一共通過了8道路由器的轉發,每通過一個路由,TTL減1。
Tracert命令用來顯示數據包到達目標主機所通過的路徑(路由器),並顯示到達每一個節點(路由器)的時間。命令功能同Ping相似,但它所得到的信息要比Ping命令詳細得多,它把數據包所走的所有路徑、節點的IP以及花費的時間都顯示出來。該命令比較適用於大型網絡。
Tracert 先發送 TTL 爲 1 的迴應數據包,當數據包上的 TTL在路由器收到後TTL自動減1 ,一旦某個服務器將TTL減1後,等於了0,路由器應該將「ICMP Time Exceeded」的消息發回源計算機,源計算機就根據收到的信息判斷達到的路由器和所用時間。下次再次發送數據包時,將TTL遞增 1,繼續上述測試,直到目標響應或 TTL 達到最大值,從而肯定路由。經過檢查中間路由器發回的「ICMP 已超時」的消息肯定路由。某些路由器不經詢問直接丟棄 TTL過時的數據包,這在 Tracert 實用程序中看不到,咱們會顯示請求超時的請求信息。下圖所示,咱們測試到新浪的路通過了8道路由,同時根據上圖測試ping 新浪時候,TTL=56,說明新浪的TTL初始設置爲64,通過8道路由後到達咱們客戶機,還剩下64-8 = 56。下圖中請求超時的反饋信息是由於路由器對ping命令作了處理,關閉了ping的響應,因此咱們收不到發給他的反饋信息。
pathping 命令是一個路由跟蹤工具,它將 ping 和 tracert 命令的功能與這兩個工具所不提供的其餘信息結合起來,綜合了兩者的功能。pathping會先顯示中間的經過的路由器(相似tracert命令獲得的信息),而後對每一箇中間路由器(節點)發送必定數量的ping包,經過統計他們對ping包響應的數據包來分析通訊質量。上面也提到了,有的路由器對ping關閉了響應,因此有的節點的丟包率會達到100%,因此這種通常就是關閉了ping回覆。你能夠本身ping試一下。還有,對ping包丟棄程度只是節點自己對ping的處理,並不必定影響他的通訊,你能夠看到,關閉ping命令節點的下一個節點返回到數據是正常的,說明回覆的包都成功發送回來。總之,pathping 命令在一段時間內將數據包發送到將到達最終目標的路徑上的每一個路由器,而後根據從每一個躍點返回的數據包計算結果。因爲命令顯示數據包在任何給定路由器或連接上丟失的程度,所以能夠很容易地肯定可能致使網絡問題的路由器或連接。下圖所示,咱們看到,達到第二個就終止了,由於第二道節點(路由器),不支持ping,而後,程序就終止不在繼續往下探測了。