實驗在172.18.1.217機器的/m8/ruby目錄下
這個實驗是先不解析浦妄,相當(dāng)于復(fù)制二進制文件
vim parseNatData
nat_read_file = File.open("NATLOG_280000069469_20160919211200_0000.DAT","rb")
write_file = File.new("NATLOG_280000069469_20160919211200_0000.DAT.txt","wb")
while true
begin
read_file = nat_read_file.sysread(1) #讀取一個字節(jié) type:NAT日志文件類型說明
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(6) #讀取6個字節(jié) action-type:session
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(4) #讀取4個字節(jié) source-address:源IP
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(4) #讀取4字節(jié) nat-source-address:NAT后的源IP
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(2) #讀取2字節(jié) nat-source-port--begin:NAT后的起始端口
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(2) #讀取2字節(jié) nat-source-port-end:NAT后的結(jié)束端口
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(8) #讀取8字節(jié) Timestamp:開始時間或者結(jié)束時間
write_file.syswrite(read_file)
read_file = nat_read_file.sysread(4) #讀取4字節(jié) elapsed-time:持續(xù)時間
write_file.syswrite(read_file)
rescue => e
puts e.message
break
end
end
puts "OK"
nat_read_file.close
write_file.close
[root@master1 ruby]# ruby parseNatData.rb
end of file reached
OK
[root@master1 ruby]#
結(jié)果會生成一個一模一樣的文件,也就是沒有解析