require 'pcaplet' include Pcap log=File.open('msnlog.txt', 'w') conv=File.open('conversaciones.txt', 'w') sniff=Pcaplet.new('-s 1500') filtro=Pcap::Filter.new('tcp and src port 1863', sniff.capture) filtro1=Pcap::Filter.new('tcp and dst port 1863', sniff.capture) sniff.add_filter(filtro|filtro1) sniff.each_packet {|x| log.puts x.tcp_data puts x.tcp_data if filtro =~ x if x.tcp_data =~ /X-MMS-IM-Format:\s.*\r\n\r\n(.*)/ mensaje=$1 dir=x.tcp_data.split('SG ')[1].split(' ')[0] conv.print dir, "=> " conv.print mensaje, "\n\n" end end if filtro1 =~ x if x.tcp_data =~ /TypingUser:\s(.*)\r\n/ dir=$1 conv.print dir, "=> " end if x.tcp_data =~ /X-MMS-IM-Format:\s.*\r\n\r\n(.*)/ #mensaje=x.tcp_data.split('X-MMS-IM-Format')[1].split("\r\n\r\n")[0] mensaje=$1 conv.print mensaje, "\n\n" end end }