欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

包含linuxncat命令的詞條

如何獲取spark streaming監(jiān)控指標(biāo)

首先以一個簡單的示例開始:用Spark Streaming對從TCP連接中接收的文本進(jìn)行單詞計(jì)數(shù)。

10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有桃源免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

/**

* 功能:用spark streaming實(shí)現(xiàn)的針對流式數(shù)據(jù)進(jìn)行單詞計(jì)數(shù)的程序。

* 該程序只是對數(shù)據(jù)流中的每一批數(shù)據(jù)進(jìn)行單獨(dú)的計(jì)數(shù),而沒有進(jìn)行增量計(jì)數(shù)。

* 環(huán)境:spark 1.6.1, scala 2.10.4

*/

// 引入相關(guān)類庫

import org.apache.spark._

import org.apache.spark.streaming._

object NetworkWordCount {

def main(args: Array[String]) {

// Spark Streaming程序以StreamingContext為起點(diǎn),其內(nèi)部維持了一個SparkContext的實(shí)例。

// 這里我們創(chuàng)建一個帶有兩個本地線程的StreamingContext,并設(shè)置批處理間隔為1秒。

val conf = new SparkConf().setMaster("local[2]").setAppName("NetworkWordCount")

val ssc = new StreamingContext(conf, Seconds(1))

// 在一個Spark應(yīng)用中默認(rèn)只允許有一個SparkContext,默認(rèn)地spark-shell已經(jīng)為我們創(chuàng)建好了

// SparkContext,名為sc。因此在spark-shell中應(yīng)該以下述方式創(chuàng)建StreamingContext,以

// 避免創(chuàng)建再次創(chuàng)建SparkContext而引起錯誤:

// val ssc = new StreamingContext(sc, Seconds(1))

// 創(chuàng)建一個從TCP連接獲取流數(shù)據(jù)的DStream,其每條記錄是一行文本

val lines = ssc.socketTextStream("localhost", 9999)

// 對DStream進(jìn)行轉(zhuǎn)換,最終得到計(jì)算結(jié)果

val res = lines.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _)

// 打印該DStream中每個RDD中的前十個元素

res.print()

// 執(zhí)行完上面代碼,Spark Streaming并沒有真正開始處理數(shù)據(jù),而只是記錄需在數(shù)據(jù)上執(zhí)行的操作。

// 當(dāng)我們設(shè)置好所有需要在數(shù)據(jù)上執(zhí)行的操作以后,我們就可以開始真正地處理數(shù)據(jù)了。如下:

ssc.start() // 開始計(jì)算

ssc.awaitTermination() // 等待計(jì)算終止

}

}

為了測試程序,我們得有TCP數(shù)據(jù)源作為輸入,這可以使用Netcat(一般linux系統(tǒng)中都有,如果是windows系統(tǒng),則推薦你使用 Ncat ,Ncat是一個改進(jìn)版的Netcat)。如下使用Netcat監(jiān)聽指定本地端口:

nc -lk 9999

如果是使用Ncat,則對應(yīng)命令如下:

ncat -lk 9999

在IntelliJ IDEA或Eclipse中可以本地運(yùn)行測試上述Spark Streaming程序,該程序會連接到Netcat(或Ncat)監(jiān)聽的端口,你可以在運(yùn)行Netcat(或Ncat)的終端中輸入東東并回車,然后就可以看到該Spark Streaming程序會馬上輸出處理結(jié)果,并且這個處理是不停的、流式的。

注意:上述示例只是對數(shù)據(jù)流中的每一批數(shù)據(jù)進(jìn)行單獨(dú)的計(jì)數(shù),而沒有進(jìn)行增量計(jì)數(shù)。

SSH 通過代理連接服務(wù)器

老規(guī)矩,先說結(jié)論:

或者:

注意:由于 macOS 版 Ncat 的 7.90 和 7.91 版本的 bug,上述方式不再生效。起碼 7.91 版本在 macOS 10.15.7 上是不行的。此問題在 7.92 版本中已經(jīng)解決。

具體原因參見:

但 Linux 上沒問題。所以增加個 socat 的替補(bǔ)方案:

Scout 本身很強(qiáng)大,但對代理的支持這部分貌似差一些,只支持 SOCKSv4 和 HTTP Proxy,不支持 SOCKS5。詳情參考 《socat 初窺門徑》 。

有些時候,由于網(wǎng)絡(luò)限制等原因,不能直接連通過 SSH 連到指定服務(wù)器,需要經(jīng)過代理進(jìn)行連接。例如如下場景:

其中,

client.net 不能直接訪問 server.net

client.net 可以訪問 proxy.net

proxy.net 可以訪問 server.net

使用 SSH 的 ProxyCommand 選項(xiàng),配合 nc/Ncat 命令,實(shí)現(xiàn) client.net 通過代理 proxy.net ,以 SSH 訪問 server.net 。

(1) nc

macOS 上常用這種方案。但是 nc 不支持需要認(rèn)證的代理。

常用參數(shù):

(2) Ncat

Ncat 在 macOS 上通過代理連接時會出現(xiàn)連接斷開的情況。

常用參數(shù):

以 nc 為例,如使用 Ncat 可以自行替換。

默認(rèn)為 Socket5 代理,這時可以省略 -X 參數(shù)

或者采用另一種寫法:

SSH 配置文件位置:

增加如下兩行內(nèi)容:以 nc 為例,如使用 Ncat 可以自行替換。

使用配置文件之后,就不需要在命令行中進(jìn)行代理配置了。

對于大部分情況,都可以直接使用 nc 或者 Ncat 解決。但對于一些復(fù)雜情況,也可以通過其它方案完成。如在 macOS 上想通過需要認(rèn)證的代理連接,用 nc 不支持代理認(rèn)證, Ncat 又有些問題。

對于代理類型的問題,可以通過 Brook 來進(jìn)行類型轉(zhuǎn)換。

1、 corkscrew

只支持 HTTP 代理

如需要訪問帶認(rèn)證的代理服務(wù)器:

~/.ssh/myauth 的內(nèi)容:

2、 proxytunnel

只支持 HTTP 代理

命令行里只填用戶名,會提示輸入密碼,或者通過環(huán)境變量傳入。

(完)

nc 命令使用小結(jié)

nc是netcat的簡寫,有著網(wǎng)絡(luò)界的瑞士軍刀美譽(yù)。因?yàn)樗绦【贰⒐δ軐?shí)用,被設(shè)計(jì)為一個簡單、可靠的網(wǎng)絡(luò)工具。比如大家很熟悉使用telnet測試tcp端口,而nc可以支持測試linux的tcp和udp端口,而且也經(jīng)常被用于端口掃描,甚至把nc作為server以TCP或UDP方式偵聽指定端口做簡單的模擬測試。

2020年10月07日 - 初稿

閱讀原文 -

ncat 或者說 nc 是一款功能類似 cat 的工具,但是是用于網(wǎng)絡(luò)的。它是一款擁有多種功能的 CLI 工具,可以用來在網(wǎng)絡(luò)上讀、寫以及重定向數(shù)據(jù)。 它被設(shè)計(jì)成可以被腳本或其他程序調(diào)用的可靠的后端工具。同時由于它能創(chuàng)建任意所需的連接,因此也是一個很好的網(wǎng)絡(luò)調(diào)試工具。

ncat / nc 既是一個端口掃描工具,也是一款安全工具,還能是一款監(jiān)測工具,甚至可以做為一個簡單的 TCP 代理。 由于有這么多的功能,它被譽(yù)為是網(wǎng)絡(luò)界的瑞士軍刀。 這是每個系統(tǒng)管理員都應(yīng)該知道并且掌握它。

在大多數(shù) Debian 發(fā)行版中, nc 是默認(rèn)可用的,它會在安裝系統(tǒng)的過程中自動被安裝。 但是在 CentOS 7 / RHEL 7 的最小化安裝中, nc 并不會默認(rèn)被安裝。 你需要用下列命令手工安裝。

nc的作用:

nc的控制參數(shù)不少,常用的幾個參數(shù)如下所列:

用于指定nc將處于偵聽模式。指定該參數(shù),則意味著nc被當(dāng)作server,偵聽并接受連接,而非向其它地址發(fā)起連接。

暫未用到(老版本的nc可能需要在端口號前加-p參數(shù))

指定發(fā)送數(shù)據(jù)的源IP地址,適用于多網(wǎng)卡機(jī)

指定nc使用UDP協(xié)議,默認(rèn)為TCP

輸出交互或出錯信息,新手調(diào)試時尤為有用

6)-w

超時秒數(shù),后面跟數(shù)字

7)-z

表示zero,表示掃描時不發(fā)送任何數(shù)據(jù)

作用:批量端口掃描,可根據(jù)掃描主機(jī)的配置調(diào)整后臺掃描進(jìn)程數(shù)量(手動執(zhí)行后根據(jù)統(tǒng)計(jì)的執(zhí)行時間調(diào)整腳本中關(guān)于進(jìn)程數(shù)量的參數(shù)),通過定時任務(wù)作為簡單的服務(wù)監(jiān)控(可修改腳本添加其他報警功能,例如郵件等)

實(shí)現(xiàn):使用nc指令掃描端口,使用管道特性控制后臺掃描進(jìn)程數(shù)量

不足:僅僅對掃描端口狀態(tài)為down的信息做記錄,并沒有其他報警操作

使用:

10 useful ncat (nc) Command Examples for Linux Systems

nc命令用法舉例

測試特定協(xié)議下指定端口是否開啟

我們在檢測遠(yuǎn)程服務(wù)是否正常時,經(jīng)常會用一些工具(命令)來檢測端口是否開啟,來確定服務(wù)是否正常。通常可用于檢測的工具有nc、socat、nmap等,基本思想是向遠(yuǎn)端指定端口發(fā)送數(shù)據(jù),看其狀態(tài)。

遠(yuǎn)端:192.168.0.15

本端:192.168.0.10

單向檢測(適用于無法登錄遠(yuǎn)端服務(wù)查看的情況)

如果返回succeeded,則說明相應(yīng)的UDP端口訪問正常。

如果無任何返回信息,則說明相應(yīng)的UDP端口訪問失敗。

nc -uvz $IP $Port.?? //UDP

nc -vz $IP $Port?? //TCP

遠(yuǎn)端不監(jiān)聽1777端口情況

# nc -uvz 192.168.0.15 1777

#

遠(yuǎn)端監(jiān)聽1777端口

# nc -ul 1777

XXXXX

# nc -uvz 192.168.0.15 1777

Connection to 192.168.0.15 1777 port [udp/powerguardian] succeeded!

如果succeeded,則無任何返回,如果failed則返回Connection refused。

echo "This socat udp test." | socat - udp-connect:$IP:$Port

遠(yuǎn)端不監(jiān)聽1777端口,本端發(fā)送udp數(shù)據(jù)至遠(yuǎn)端指定端口。

# echo "This socat udp test." | socat - udp-connect:192.168.0.15:1777

2017/06/18 14:26:39 socat[22195] E read(3, 0xb48a20, 8192): Connection refused

遠(yuǎn)端開啟監(jiān)聽,本端再次發(fā)送。

# nc -ul 1777

This socat udp test.

# echo "This socat udp test." | socat - udp-connect:192.168.0.15:1777

#

用指定協(xié)議掃描遠(yuǎn)端指定端口

nmap -sU -p $Port $IP

# nmap -sU -p 1777 192.168.0.15

Starting Nmap 5.51 ( ) at 2017-06-18 14:35 CST

Nmap scan report for host-192-168-0-15 (192.168.0.15)

Host is up (0.00098s latency).

PORT ??? STATE? SERVICE

1777/udp closed unknown

MAC Address: FA:16:3E:1A:54:30 (Unknown)

Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds

可以通過傳輸文本及文件來測試UDP端口是否正常(先開監(jiān)聽,再發(fā)送)

遠(yuǎn)端:nc -ul $Port

本端: nc -u $IP $Port

在本端鍵入任意字符,看遠(yuǎn)端是否可以收到。

遠(yuǎn)端:nc -l $Port $Filename

本端:nc $IP $Port $Filename

可以執(zhí)行md5sum看兩端的文件md5是否相同

注:如果是檢測tcp協(xié)議端口,上述nc命令中,去掉參數(shù)-u即可。另外,也可以使用telnet $IP $Port來完成

$ nc -vzw 2 180.76.148.122 22-81 //顯示詳細(xì)信息,包含失敗的

$ nc -zw 2 180.76.148.122 22-81 //不顯示詳細(xì)信息,只包含成功的,如果檢測udp端口,可用"vzw"參數(shù),"z"參數(shù)表示連接成功后立即關(guān)閉連接

Connection to 180.76.148.122 port 22 [tcp/ssh] succeeded!

Connection to 180.76.148.122 port 80 [tcp/http] succeeded!

附全面的ncat使用方法:

當(dāng)前標(biāo)題:包含linuxncat命令的詞條
鏈接URL:http://chinadenli.net/article5/dsgcdii.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google電子商務(wù)定制網(wǎng)站企業(yè)建站品牌網(wǎng)站建設(shè)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站