延續昨天的內容...
在客戶端跟伺服器端建立連線之後,可以利用socket的write()方法來傳送資料,以及用data事件來接收資料。
延續昨天的內容...
在客戶端跟伺服器端建立連線之後,可以利用socket的write()方法來傳送資料,以及用data事件來接收資料。
實作part2
socket.write('傳送的資料內容');
//監聽data事件
socket.on('data',function(data){
console.log('接收到的資料內容是'+data);
})
目標電腦在接收到客服端傳過來的命令後,將會執行一個有我們所寫好的外部,這邊會使用到[child_process]模組裡面的spawn()方法。
var spawn = require('child_process').spawn();
//執行ls指令,並代入參數「-l」
var ls = spawn('ls',['-l']);
//接受執行完輸出的內容
ls.stdout.on('data',function(data){
console.log(data);
})
//當外部程式結束時會產生end事件
ls.on('end',function(code){
console.log('完成!');
})
若是執行完畢或是發生其他狀況要中斷連線則可以使用
socket.destroy()
並且搭配設定事件來處理連線終止時的情況
socket.on('end',function({
console.log('中斷連線!');
}))
前兩個part練習後比較了解了一些關鍵技術,這個part就要實際寫一個能應用的後門程式。
完整的程式碼,我看之後補充貼在這邊或是放在github上。