nc和telnet實(shí)現(xiàn)的功能不同:1、telnet可以連接服務(wù)器端口,并進(jìn)行通信;而nc可以監(jiān)聽(tīng)服務(wù)器端口,并與客戶端通信(最多只能接收一個(gè)客戶端)。2、telnet可以登錄遠(yuǎn)程telnet服務(wù)器,使用命令行對(duì)其進(jìn)行控制;而nc是對(duì)指定服務(wù)器進(jìn)行端口掃描,它作為客戶端連接到遠(yuǎn)程服務(wù)器進(jìn)行通信。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
Telnet簡(jiǎn)介
telnet程序可以直接與web服務(wù)器進(jìn)行對(duì)話。
通過(guò)telnet可以打開(kāi)一條到某臺(tái)機(jī)器上某個(gè)端口的TCP連接,然后直接向那個(gè)端口輸入一些字符。web服務(wù)器會(huì)將telnet程序作為一個(gè)web客戶端來(lái)處理,所有回送給TCP連接的數(shù)據(jù)都會(huì)顯示在屏幕上。
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 會(huì)查找主機(jī)名并打開(kāi)一條連接,連接到在www.xxx.com的端口80上監(jiān)聽(tīng)的web服務(wù)器。
Telnet可以很好的模擬HTTP客戶端,但是不能作為服務(wù)器使用。而且對(duì)telnet做腳本自動(dòng)化非常麻煩。如果想要更靈活的工具,可以看看下面的netcat。通過(guò)
nc
可以很方便滴操縱基于UDP和TCP的流量(包括HTTP),還可以為其編寫(xiě)腳本。
Netcat(NC)簡(jiǎn)介
Netcat在網(wǎng)絡(luò)工具中有“瑞士軍刀”美譽(yù)。它是一個(gè)非常簡(jiǎn)單的Unix工具,可以讀、寫(xiě)TCP或UDP網(wǎng)絡(luò)連接(network connection)。它被設(shè)計(jì)成一個(gè)可靠的后端(back-end) 工具,通過(guò)與其他工具結(jié)合和重定向,你可以在腳本中以多種方式使用它。同時(shí),它又是一個(gè)功能豐富的網(wǎng)絡(luò)調(diào)試和開(kāi)發(fā)工具,因?yàn)樗梢越⒛憧赡苡玫降膸缀跞魏晤愋偷倪B接,以及一些非常有意思的內(nèi)建功能。Netcat,它的實(shí)際可運(yùn)行的名字叫nc,是一個(gè)很早就被提供,但沒(méi)有公開(kāi)的事實(shí)標(biāo)準(zhǔn)的Unix工具。使用NC命令所能完成的事情令人驚訝。
Netcat還可以當(dāng)服務(wù)器使用,監(jiān)聽(tīng)任意指定端口的連接請(qǐng)求(inbound connection),并可做同樣的讀寫(xiě)操作。除了較小限制外,它實(shí)際并不關(guān)心自己以“客戶端”模式還是“服務(wù)器”模式運(yùn)行,它都會(huì)來(lái)回運(yùn)送全部數(shù)據(jù)。在任何一種模式下,都可以設(shè)置一個(gè)非活動(dòng)時(shí)間來(lái)強(qiáng)行關(guān)閉連接。 它還可以通過(guò)UDP來(lái)完成這些功能,因此它就象一個(gè)telnet那樣的UDP程序,用來(lái)測(cè)試你的UDP服務(wù)器。正如它的“U”所指的,UDP跟TCP相比是一種不可靠的數(shù)據(jù)傳輸,一些系統(tǒng)在使用UDP 傳送大量數(shù)據(jù)時(shí)會(huì)遇到麻煩,但它還有一些用途。
NC所做的就是在兩臺(tái)電腦之間建立鏈接并返回兩個(gè)數(shù)據(jù)流,在這之后所能做的事就看你的想像力了。你能建立一個(gè)服務(wù)器,傳輸文件,與朋友聊天,傳輸流媒體或者用它作為其它協(xié)議的獨(dú)立客戶端。
主要用途
一般我們使用netcat做的最多的事情為以下三種:
1、掃描指定IP端口情況
2、端口轉(zhuǎn)發(fā)數(shù)據(jù)(重點(diǎn))
3、提交自定義數(shù)據(jù)包
nc和telnet的區(qū)別
telnet可以實(shí)現(xiàn)的功能:
-
連接服務(wù)器端口,并進(jìn)行通信
-
登錄遠(yuǎn)程telnet服務(wù)器,使用命令行對(duì)其進(jìn)行控制
nc可以實(shí)現(xiàn)的功能:
-
監(jiān)聽(tīng)服務(wù)器端口,并與客戶端通信(最多只能接收一個(gè)客戶端)
-
對(duì)指定服務(wù)器進(jìn)行端口掃描
-
作為客戶端連接到遠(yuǎn)程服務(wù)器進(jìn)行通信
擴(kuò)展知識(shí):
Telnet不通的原因
1、telnet服務(wù)本身的問(wèn)題:服務(wù)是否啟用
2、防火墻策略問(wèn)題:telnet服務(wù)所在的系統(tǒng)防火墻是否做了限制,從源主機(jī)到提供telnet服務(wù)的主機(jī)之間的防火墻是否做了限制
3、服務(wù)是否限制ip,服務(wù)是否達(dá)到最大連接數(shù)
ping不通的原因
1、服務(wù)器沒(méi)啟動(dòng)/ip不存在
2、網(wǎng)段不同,通過(guò)路由也無(wú)法找到
3 、防火墻設(shè)置,過(guò)濾了ping發(fā)出的ICMP數(shù)據(jù)包,導(dǎo)致無(wú)反饋,time out
4、Ip地址設(shè)置錯(cuò)誤,對(duì)于多個(gè)網(wǎng)卡的服務(wù)器來(lái)說(shuō),每個(gè)網(wǎng)口的ip配置必須不能在同一個(gè)網(wǎng)段,否則會(huì)造成路由不知選擇哪一個(gè)出口
5、 網(wǎng)線故障
6)、未設(shè)置網(wǎng)關(guān),這個(gè)對(duì)于小網(wǎng)128網(wǎng)段,走路由器的,如果未配置將無(wú)法路由