第七章 網路相關工具

這一章會講到幾個常用的跟網路相關的指令 / 工具。

ping

我想這個應該常常看到, 甚至連鄉土劇都會出現。這個指令基本上就是去戳某一個網路上的電腦或伺服器 (或說有連網的設備), 看它是否連得到, 有沒有回應, 並且可以看得到你跟他之間的速度快不快。

ping 不一定每一次都會如你所預期的, 如果你想要 ping 的對方它有設定防火牆, 明確的說它把 ICMP 的封包都擋掉了, 那你就會 ping 不到它。

基本的指令就是 ping [host], 譬如說你想要 ping google, 可以用下面的指令

$ ping google.com
PING google.com (74.125.23.113): 56 data bytes
64 bytes from 74.125.23.113: icmp_seq=0 ttl=45 time=12.842 ms
64 bytes from 74.125.23.113: icmp_seq=1 ttl=45 time=11.797 ms
64 bytes from 74.125.23.113: icmp_seq=2 ttl=45 time=11.865 ms
^C
--- google.com ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 11.797/12.168/12.842/0.477 ms

按下 Ctrl-C 可以結束跳出來。從上面結果來看你可以看到, 平均每次大概是花 12 毫秒, 速度可以說是相當快的。

如果你隨便打一個 IP, 例如 123.123.123.123, 你連不到它, 就會回 Request timeout, 例如

$ ping 123.123.123.123
PING 123.123.123.123 (123.123.123.123): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 123.123.123.123 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss

如果你得到 Network unreachable 或者是 No route to host 的字樣, 那就代表你的網路設定有狀況, 你的封包無法到達遠端的主機。

nslookup DNS 查詢

如果你想要知道某一個網域他的 IP 是多少, 可以使用 nslookup。譬如你想要知道 google.com 的 IP, 你可以用下面的指令

$ nslookup google.com.tw
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:    google.com.tw
Address: 74.125.23.94

一開始的兩行代表你的 DNS 是使用 8.8.8.8 來查詢, 而得到的結果就是 74.125.23.94。

反之亦然, 你也可以反查某個 IP 的網域, 就以剛剛的例子來說

$ nslookup 74.125.23.94
Server:        8.8.8.8
Address:    8.8.8.8#53

94.23.125.74.in-addr.arpa    name = google.com.tw.

telnet TCP 連線

如果你會寫簡易的 TCP Server 的話, 可以直接拿 telnet 當作你的 client 連線, 方法是 telnet [host] [port], 譬如說你的 TCP Server 開在自己機器的 3001, 那你可以用

$ telnet 0 3001
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.

此時你只要打一些字, 然後按下 ENTER, 你的 TCP Server 就會收到你打的東西 (連帶那個 "\n")。如果你要跳出來的話, 你可以按下 Ctrl-], 然後它的畫面會變成像下面這樣

^]
telnet>

接著只要打 qquit, 就可以跳出來了

^]
telnet> q
$

早期連線到 BBS 的話都是可以直接用 telnet 連線的, 你也可以試著連到 ptt (telnet ptt.cc), 但因為現在我們大部分的電腦都用 UTF-8, 而 ptt.cc 用的是 Big5, 所以所有中文都會變成亂碼。

ssh 遠端連線

如果你有遠端的主機, 例如雲端的機器, 那麼一定會使用到 ssh 連線到你的機器。它的基本用法就是 ssh [user]@[somehost]

假設你的遠端機器的使用者帳號, 跟你現在使用的電腦的使用者帳號是一樣的, 那麼可以把 @ (包含) 之前的都省略, 變成 ssh [somehost], 譬如

TomdeMacBook-Pro:~ yychen$ ssh myawesomesite.cc

連進去之後, 你就等於進到了遠端機器的 shell 裡面, 要跳出來就用 exit 即可。

yychen@myawesomesite:~$ exit
TomdeMacBook-Pro:~ yychen$

results matching ""

    No results matching ""