之前做的iptables 來進(jìn)行的聯(lián)網(wǎng)控制,一直耿耿于懷,想要知道系統(tǒng)里的netd等等是如何做到執(zhí)行那些命令,并能監(jiān)聽的。
最近有機(jī)會(huì)又對這部分進(jìn)行了一些研究。
所要做的大概就是3部分,1. native進(jìn)程,這部分得用c/c++來寫,
2. framework接口。用于和native進(jìn)程通信。
3. selinux權(quán)限配置,主要就是為了賦予natvie進(jìn)程
framework與native的通信這部分也是一個(gè)很有趣的地方,看了系統(tǒng)源碼,很多模塊使用了local socket進(jìn)行上下層的通信。 好處就是穩(wěn)定性高,而且另一點(diǎn)應(yīng)該就是易封裝,獨(dú)立開來。
1.下面就來稍作介紹native 進(jìn)程的部分,
native的主要作用就是接收命令和執(zhí)行命令,接收framework傳輸?shù)拿?,?zhí)行相應(yīng)的shell 命令。