hpfeeds協(xié)議是一種發(fā)布者/訂閱者協(xié)議,發(fā)布者/訂閱者擁有著自己的發(fā)布/訂閱頻道,發(fā)布者可以通過發(fā)布頻道發(fā)送消息,訂閱者可以通過訂閱頻道接收消息,這很適合用于分布式的蜜罐網(wǎng)絡傳輸數(shù)據(jù)。
建立一個用戶,該用戶既是訂閱者也是發(fā)布者(即擁有頻道1的發(fā)布與訂閱權限)。在服務器端運行訂閱服務,訂閱頻道1,每個蜜罐通過向頻道1發(fā)布消息,將數(shù)據(jù)傳回到服務器上。
1. hpfeeds協(xié)議的安裝
git clone https://github.com/rep/hpfeeds.git
cd hpfeeds
python setup.py build
python setup.py install
由于hpfeeds協(xié)議的實現(xiàn)較為古老,長時間沒有更新,所以使用上有一些坑需要注意:
- 不要使用broker/add_user.py來添加用戶與頻道,該程序會想mongodb添加用戶,而broker服務運行起來的時候,是從sqlite中讀取用戶與頻道等信息的
- 對hpfeeds的詳細說明可以參照(使用上請不要按照連接中的方式):http://das.scusec.org/2016/02/19/hpfeeds/
2. 建立訂閱者/發(fā)布者/channel
打開 hpfeeds/broker/database.py,可以看到添加用戶的方法:

9B00865D7E8665164482B39897F03E86.jpg
所以,按照該文件中的說明,執(zhí)行下列操作:
sqlite3 db.sqlite3
# 進入數(shù)據(jù)庫后
# 根據(jù)需要修改values中的值
> insert into authkeys (owner, ident, secret, pubchans, subchans) values ('owner', 'ident', 'secret', '["chan1"]', '["chan1"]');
3. 配置t-pot打開hpfeeds功能
# 進入目錄/data/ews/conf/中
cd /data/ews/conf
# 修改ews.cfg
vim ews.cfg

385C8527E71A9703E9DD4B3D916E7702.jpg
接下來就可以收到來自t-pot的數(shù)據(jù)了
相關內容:
- t-pot: https://github.com/dtag-dev-sec/tpotce
- T-Pot多蜜罐平臺:讓蜜罐實現(xiàn)更簡單: http://www.freebuf.com/sectool/134504.html