Linux

如何正確執行“netcat”中繼以便我擁有更多控制權?

  • October 4, 2011

如何使用netcat有繼電器?就像我嘗試過但沒有工作一樣:

cd /tmp
mknod backpipe p
nc -l -p 7007 0<backpipe | nc 192.168.1.101 9001 | tee backpipe
  1. 我想在 7007 上接收數據必須是監聽模式

$ 另一個應用程序正在把數據包放在這裡 2. 7007 發生了什麼我需要移動到 9001(這也是一個監聽埠)

$ telnet localhost 9001

會顯示 7007 個數據包嗎?

任何想法?

可選:是否也可以放置一些額外的標頭數據包?將 http 標頭模擬為圖像內容類型?

如果你這樣做:

nc -l -p 7007 | nc -l -p 9001

然後進入埠 7007 的任何內容都將通過管道傳輸到第二個 netcat 併中繼到埠 9001 上的 telnet 會話。

注入標頭需要了解底層協議,至少要弄清楚“消息”邊界,所以這不是微不足道的。如果你知道怎麼做,你可以在兩個管道之間注入你的程式碼:

nc -l -p 7007 | ./my_filter | nc -l -p 9001

./my_filter將獲得輸入stdin,並且它寫入的任何內容都stdout將顯示在埠 9001 上。

引用自:https://unix.stackexchange.com/questions/21981