iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
Security

從0基礎開始起飛,一起一步步踏入資安系列 第 3

[ Day 3 ] 常常在用nc連線的你,真的懂它嗎? (Linux指令-nc)

  • 分享至 

  • xImage
  •  

早上好各位 ! 今天是第三天 !
原本想寫安裝虛擬機的教學,但看到網路上太多大佬出過了,還有各個電腦版本的教學,所以這種事果然還是交給那些專業的吧~

那麼,老是在打 CTF 時用到 nc 這個指令的你,有認真了解過他的意思嗎?
不過以下在 CTF 中不常用到,但學會的話對於日常工作時會蠻方便的哦~

nc 也就是 Netcat,是 Linux 系統中十分好用的 TCP/UDP 網路程式
可以用來做網路連線,來和其他客戶端or伺服器端連線
在一般的 Linux 系統中,連接埠 ( port ) 0 到 1023 需要有 root 權限,而 1024 以上的一般的使用者皆可使用

nc [<options>] <host> <port>

常用參數<options> :

  • -l (listen):監聽模式,作為伺服器。
  • -p (port):設定本地主機使用的端口號。
  • -v (verbose):顯示指令執行過程的詳細信息。
  • -z (zero-I/O):掃描端口,不傳送資料。

監聽模式

nc -l (listen)

伺服器端(Server) :
nc -l ip_address port_number

客戶端(Client) :
nc ip_address port_number

nc 指令加上 -l 後,就能就轉變成監聽模式,成為伺服器。
連線後任何一方輸入的訊息,都會立即顯示在另一端,就像聊天室一樣。
也可以用 nc -lv <port> 加上-v來看更詳細狀態。
nc -lkv <port> 加上-k可確保斷開連線後此連線仍保持開啟。

詳細連線資訊

nc -v (verbose)

nc -v ip_address port_number
用來檢測伺服器特定的連接埠(port)是否有開啟,會顯示連線成功或失敗的訊息。

通訊埠掃瞄(port scan)

nc -zv

nc -zv ip_address port_number
功能類似ping(網絡診斷工具),進行 port 掃描 / 偵測,不建立完整連線,不傳送資料。

例如 :
nc -zv [google.com](http://google.com/) 443
443:檢查 TCP port 443(HTTPS)是否開啟。
如果回傳訊息有succeeded,表示 Google 的 HTTPS 服務正常。

nc -z -v -n ip_address port1-port2nc -zv ip_address port1-port2 可用於掃描多個port連線裝況

傳送檔案

傳送者(A) :
nc hostB.com <port> < file.txt

接收者(B) :
nc -lv <port> > file.txt

也可以用path來傳送

傳送者(A) :
nc hostB.com <port> < file_path
接收者(B) :
nc -lv <port> > save_file_path

打包後傳送 ( tar僅打包無壓縮 )

傳送者(A) :
tar cvf - my_folder | nc B_host <port>

接收者(B) :
nc -lv <port> | tar xvf -

也可以打包目錄

tar cvf - /path/to/dir | nc hostB.com <port> (傳送者)

以上 ! 大概介紹了一些常用的~
更深入的話可以在終端機使用nc -help 或是 man netcat 查看更詳細指令說明和用法~

寫這篇的時候是半夜腦袋快燒了……
https://ithelp.ithome.com.tw/upload/images/20250903/201778971RqZrV7eB9.jpg
不曉得發這篇的時候第二季出完了沒,徹夜之歌,可以去看看哦 !


上一篇
[ Day 2 ] 你在找免費資安學習資源嗎?
下一篇
[ Day 4 ] 用 ls 幫助你一目了然一切吧 ( Linux指令-ls )
系列文
從0基礎開始起飛,一起一步步踏入資安4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言