📄 read_pcap
字号:
#!/usr/bin/env perl# Copyright (c) 2002, 2003 Shufeng Tan. All rights reserved.# # This package is free software and is provided "as is" without express# or implied warranty. It may be used, redistributed and/or modified# under the terms of the Perl Artistic License (see# http://www.perl.com/perl/misc/Artistic.html)use Net::OICQ;use Net::OICQ::ClientEvent;use Net::OICQ::ServerEvent;use Data::Libpcap;my $pcapfile = shift;die "Usage: perl $0 <pcapfile>\n" unless $pcapfile;my $uid = $ENV{OICQ_ID} or die "OICQ_ID env not set\n";my $pw = $ENV{OICQ_PW} or die "OICQ_PW env not set\n";my $pcap = new Data::Libpcap $pcapfile;my $oicq = new Net::OICQ;#$oicq->set_user($uid, $pw);$oicq->{Debug} = 2;while(my $p = $pcap->get_frame()) { my $udp = $pcap->get_udp_data($pcap->get_ip_data($p)); my $src_ip = $udp->{SrcIP}; my $dst_ip = $udp->{DstIP}; my $src_port = $udp->{SrcPort}; my $dst_port = $udp->{DstPort}; next unless $src_port == 8000 or $dst_port == 8000; my $udp_data = $udp->{Data}; $oicq->logf("%s.%06d %15s:%4d to %15s:%4d\n", substr(localtime($udp->{Time}), 4, 15), $udp->{msec}, $src_ip, $src_port, $dst_ip, $dst_port); $oicq->process_packet($udp_data); $oicq->log('-' x 72, "\n");}exit;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -