2016-11-22 14 views
0

이 bro 스크립트를 작성하여 Pcap 파일에서 모든 파일을 추출했습니다. 문제는 모든 파일을 추출하지 않는다는 것입니다. 나는 Wireshark로 분석 한 http.cap을 가지고 있으며, HTTP 객체를 2 개의 .html 파일로 내 보낸다. 내 bro 스크립트는이 파일 중 하나만 추출합니다.브로는 Pcap 파일에서 모든 파일을 추출하지 않습니다

@load base/files/extract 

global hash_number = 100; 

event bro_init() 
{ 
    #Log::disable_stream(Conn::LOG); 
    mkdir("extract_files");  
} 

event file_sniff(f: fa_file, meta: fa_metadata) 
{ 
    local ext = ""; 

    if (meta?$mime_type) 
     ext = split_string(meta$mime_type, /\//)[1]; 

    local hash = f$seen_bytes % hash_number; 
    mkdir(fmt("./extract_files/%d", hash)); 

    local file_path = fmt("%d/%s-%s.%s", hash, f$source, f$id, ext); 
    Files::add_analyzer(f, Files::ANALYZER_EXTRACT, [$extract_filename=file_path]); 
} 

나는이 같은 내 동급 스크립트를 호출 : bro -r http.cap myscript.bro. 인쇄 기능을 사용하여 file_sniff 이벤트를 디버깅했으며 2 개의 .html 파일 중 1 개만 추적합니다. Bro 플랫폼에 문제가 있거나 내가 놓친 것입니까? This이 내 pcap 파일입니다.

다른 pcap 파일 this도 시도해 보았습니다. Wireshark에서 일부 이미지, js 및 http 파일을 가져오고 bro는 2 개의 이미지 만 추출합니다.

+0

이 질문은 귀하가 사용중인 PCAP가 필요합니다. PCAP에서 예상치 못한 일이 발생할 수 있습니다. –

+0

질문에 pcap 파일을 추가했습니다. [여기] (https://drive.google.com/open?id=0B6K5aM3RO7V-ZEhOZjhKeGRKdGs)도 추가했습니다. –

답변

0

나는 freenode 채팅 (채널 #Bro)에서 사람들에게 물어 보았는데, 그 사람들은 그 pcaps가 핸드 셰이크없이 연결되어 있다고 말했다. 따라서 Wireshark와 반대되는 악수가없는 연결의 트랙 패키지는 없습니다. 이 문제는 bro의 버전 2.5 변경 로그에서 해결되었지만이 베타 버전을 다운로드하지 않고 컴파일하고 동일한 결과를 얻습니다. 그것이 베타 버전이기 때문에 나는 그것이 모른다. 이 문제가 향후 버전에서 수정되기를 바랍니다.

+0

Bro 지원 (IRC의 대화식 외에)을 얻는 가장 좋은 방법은 [mailing list [email protected]] (http://mailman.icsi.berkeley.edu/mailman/listinfo/bro)입니다. 우리 팀의 소수만이 SO를 모니터합니다. 앞으로 거기에서 당신을 만날 것을 고대하고 있습니다. – mavam

+0

Bro 2.5 changelog에서 어디에서이 문제가 해결되었는지 알 수는 없지만 아직 해결되지 않았습니다. –