nc和telnet實現(xiàn)的功能不同:1、telnet可以連接服務(wù)器端口,并進(jìn)行通信;而nc可以監(jiān)聽服務(wù)器端口,并與客戶端通信(最多只能接收一個客戶端)。2、telnet可以登錄遠(yuǎn)程telnet服務(wù)器,使用命令行對其進(jìn)行控制;而nc是對指定服務(wù)器進(jìn)行端口掃描,它作為客戶端連接到遠(yuǎn)程服務(wù)器進(jìn)行通信。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Telnet簡介
telnet程序可以直接與web服務(wù)器進(jìn)行對話。
通過telnet可以打開一條到某臺機器上某個端口的TCP連接,然后直接向那個端口輸入一些字符。web服務(wù)器會將telnet程序作為一個web客戶端來處理,所有回送給TCP連接的數(shù)據(jù)都會顯示在屏幕上。
telnet www.xxx.com 80 GET /tools.html HTTP/1.1 Host: www.xxx.com
response:
HTTP/1.1 200 OK DATE: Sun, 01 Oct 2000 23:25:17 GMT Server: Apache/1.3.11 BSafe-SSL/1.38 (Unix) FrontPage/4.0.4.3 Last-Modified: Tue, 04 Jul 2000 09:46:21 GMT ETag: "373979-193-3961b26d" Accept-Ranges: bytes Content-length: 403 Connection: close Content-Type: text/html <html> <head><title>xxxx</title></head> <body> <h1>Tools page</h1> ... </body> </html> Connection closed by foreign host.
Telnet 會查找主機名并打開一條連接,連接到在www.xxx.com的端口80上監(jiān)聽的web服務(wù)器。
Telnet可以很好的模擬HTTP客戶端,但是不能作為服務(wù)器使用。而且對telnet做腳本自動化非常麻煩。如果想要更靈活的工具,可以看看下面的netcat。通過
nc
可以很方便滴操縱基于UDP和TCP的流量(包括HTTP),還可以為其編寫腳本。
Netcat(NC)簡介
Netcat在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽。它是一個非常簡單的Unix工具,可以讀、寫TCP或UDP網(wǎng)絡(luò)連接(network connection)。它被設(shè)計成一個可靠的后端(back-end) 工具,通過與其他工具結(jié)合和重定向,你可以在腳本中以多種方式使用它。同時,它又是一個功能豐富的網(wǎng)絡(luò)調(diào)試和開發(fā)工具,因為它可以建立你可能用到的幾乎任何類型的連接,以及一些非常有意思的內(nèi)建功能。Netcat,它的實際可運行的名字叫nc,是一個很早就被提供,但沒有公開的事實標(biāo)準(zhǔn)的Unix工具。使用NC命令所能完成的事情令人驚訝。
Netcat還可以當(dāng)服務(wù)器使用,監(jiān)聽任意指定端口的連接請求(inbound connection),并可做同樣的讀寫操作。除了較小限制外,它實際并不關(guān)心自己以“客戶端”模式還是“服務(wù)器”模式運行,它都會來回運送全部數(shù)據(jù)。在任何一種模式下,都可以設(shè)置一個非活動時間來強行關(guān)閉連接?! ∷€可以通過UDP來完成這些功能,因此它就象一個telnet那樣的UDP程序,用來測試你的UDP服務(wù)器。正如它的“U”所指的,UDP跟TCP相比是一種不可靠的數(shù)據(jù)傳輸,一些系統(tǒng)在使用UDP 傳送大量數(shù)據(jù)時會遇到麻煩,但它還有一些用途。
NC所做的就是在兩臺電腦之間建立鏈接并返回兩個數(shù)據(jù)流,在這之后所能做的事就看你的想像力了。你能建立一個服務(wù)器,傳輸文件,與朋友聊天,傳輸流媒體或者用它作為其它協(xié)議的獨立客戶端。
主要用途
一般我們使用netcat做的最多的事情為以下三種:
1、掃描指定IP端口情況
2、端口轉(zhuǎn)發(fā)數(shù)據(jù)(重點)
3、提交自定義數(shù)據(jù)包
nc和telnet的區(qū)別
telnet可以實現(xiàn)的功能:
-
連接服務(wù)器端口,并進(jìn)行通信
-
登錄遠(yuǎn)程telnet服務(wù)器,使用命令行對其進(jìn)行控制
nc可以實現(xiàn)的功能:
-
監(jiān)聽服務(wù)器端口,并與客戶端通信(最多只能接收一個客戶端)
-
對指定服務(wù)器進(jìn)行端口掃描
-
作為客戶端連接到遠(yuǎn)程服務(wù)器進(jìn)行通信
擴展知識:
Telnet不通的原因
1、telnet服務(wù)本身的問題:服務(wù)是否啟用
2、防火墻策略問題:telnet服務(wù)所在的系統(tǒng)防火墻是否做了限制,從源主機到提供telnet服務(wù)的主機之間的防火墻是否做了限制
3、服務(wù)是否限制ip,服務(wù)是否達(dá)到最大連接數(shù)
ping不通的原因
1、服務(wù)器沒啟動/ip不存在
2、網(wǎng)段不同,通過路由也無法找到
3 、防火墻設(shè)置,過濾了ping發(fā)出的ICMP數(shù)據(jù)包,導(dǎo)致無反饋,time out
4、Ip地址設(shè)置錯誤,對于多個網(wǎng)卡的服務(wù)器來說,每個網(wǎng)口的ip配置必須不能在同一個網(wǎng)段,否則會造成路由不知選擇哪一個出口
5、 網(wǎng)線故障
6)、未設(shè)置網(wǎng)關(guān),這個對于小網(wǎng)128網(wǎng)段,走路由器的,如果未配置將無法路由