此為《木馬技術揭秘與防禦》系列讀書筆記
埠復用,字面意思就是,重複使用乙個埠
記得有一次同學的 sina 微博總是自動發訊息,當時讓他檢視本地埠,再通過埠找到對應程式
學了埠復用和執行緒注入之後,發現這種方法對「高階點」的木馬完全沒用……
還是需要一些強大的 hip 工具來檢查
回到正題
埠復用,使用到了乙個重要的函式:
int其中第三個引數使用bool型值 so_reuseaddr,作用介紹:setsockopt(
__in socket s,
__in
intlevel,
__in
intoptname,
__in
const
char *optval,
__in
intoptlen
);
通過對 socket 使用該設定,達到重用已繫結埠的目的。
另外,第乙個引數的socket必須通過wsasocket建立才能被替換埠,socket()建立的就只能用管道來通訊了。
完整**如下:
#pragma comment(lib,"ws2_32.lib")試驗過程:#pragma comment(lib,"user32.lib")
#pragma comment(lib,"advapi32.lib")#include
#include
intmain()
在虛擬機器中建立 iis 伺服器,占用80埠
啟動木馬程式,看到另乙個80埠對外的連線:
在宿主機中
telnet 虛擬機器ip 80
會**回 shell
埠復用技術
內網主機埠 外網主機埠。訪問外網埠 內網主機埠。路由器上設定乙個埠對映。外部埠和內部埠一 一對應 外部埠和內部ip一 一對應 兩個程式,監聽相同的埠。埠復用技術中最重要的乙個函式是setsockopt setsockopt 函式,用於任意型別 任意狀態套介面的設定選項值。設定socket的so re...
STM32學習筆記(二)埠復用與重對映
首先,埠復用和重對映可以看做是兩個逆過程。埠復用是把乙個io口做幾個用,比如一般io口是作為輸入輸出用 只是普通的高低電平控制 但是stm32有很多外設,而且埠就那麼幾個 如果沒有復用,就會出現io口夠外設不夠或者外設夠io口不夠 這個時候就可以把io口復用使用。比如pa9,pa10兩個埠,既可以當...
控制檔案的多路復用技術
在windows作業系統中,如果登錄檔檔案被損壞了,就會影響作業系統的穩定性。嚴重的話,會導致作業系統無法正常啟動。而控制檔案對於oracle資料庫來說,其作用就好象是登錄檔一樣的重要。如果控制檔案出現了意外的損壞,那麼此時oracle資料庫系統很可能無法正常啟動。為此作為oracle資料庫管理員,...