1
我已經使用Input :: add_table函數編寫了一個bro腳本來查找IP及其相應的主機名並將它們插入到conn_id記錄中 - 以便我擁有id.source_name &每個日誌文件中的id.destination_name。這可以正常工作,除非發生隧道事件,並且會導致分段錯誤導致Bro崩潰。我懷疑這是與封裝ID有關,但我不知道。我知道我可以爲每個類型的Info記錄添加src & dest名稱,但這意味着需要修改每種類型。我試圖做的根本不正確或隧道代碼中導致崩潰的錯誤?還是有更好的辦法做到這一點Bro腳本從IP地址查找主機名
export {
global host_table: table[addr] of Val = table();
}
redef record conn_id += {
src_name: string &optional &log;
dest_name: string &optional &log;
};
const host_file = 「hosts.txt」
event bro_init() &priority=20
{
Input::add_table([$source=host_file, $name =「host_stream」, $idx=Idx, $val=Val, $destination=host_table]);
Input::remove(「host_stream」);
}
event new_connection(c: connection) {
if(c$id$orig_h in host_table) {
c$id$src_name = host_table[c$id$orig_h]$host;
}
if(c$id$resp_h in host_table) {
c$id$dest_name = host_table[c$id$resp_h]$host;
}
}
說說挖掘到康恩記錄來處理持續時間的人。 :) :) –