我想在使用模塊Net :: Pcap的Debian服務器上運行腳本。該腳本在所有機器上都能正常工作,但這臺服務器恰好是我需要運行的唯一一臺服務器。Debian服務器「無法找到可加載對象」但「模塊是最新的」
一旦運行該腳本,我得到了常見的「無法定位模塊加載網::對象在PCAP @INC(路徑..等)」
但是,當我嘗試使用安裝CPAN,我收到消息「Net :: Pcap是最新的(0.16)」。
我已經手動從@INC中的所有文件夾中刪除了Net :: Pcap,並且手動和通過CPAN重新安裝了它們。
任何人都有線索我的問題是什麼?
對於它的價值,這裏是代碼:
use Net::Pcap;
use NetPacket::TCP;
use NetPacket::IP;
use NetPacket::Ethernet;
use Net::PcapUtils;
open (TXT, ">", "data.txt");
Net::PcapUtils::loop(\&process_packet,SNAPLEN => 65536,PROMISC => 1,);
sub process_packet {
my($user_data, $header, $packet) = @_;
my $tcp_obj = NetPacket::TCP->decode($packet);
my $ip_obj = NetPacket::IP->decode($packet);
my $len = length $packet;
my $i=0;
print TXT "From: "."$ip_obj->{src_ip}".":"."$tcp_obj->{src_port}\n";
print TXT "To: "."$ip_obj->{dest_ip}".":"."$tcp_obj->{dest_port}\n";
do {
my $lg = substr $packet, $i, 16;
printf TXT "%.8X : ", $i;
$i+=16;
print TXT unpack ('H2'x16, $lg), ' 'x(16-length $lg);
$lg =~ s/[\x00-\x1F\xFF]/./g;
print TXT " $lg\n";
} until $i>=$len;
print TXT "\n";
}
close (TXT);
就是這樣!謝謝你的幫助! – MBrowning 2011-06-10 13:45:53