perl socket编程。绑定本地地址以及绑定本地网卡。

本文记录了在Perl中进行socket编程时如何绑定本地地址和本地网卡,涉及socket模块和io:socket:inet模块的使用。特别指出绑定IP与绑定网卡的不同效果,以及绑定网卡需要root权限的问题。对于无法获得root权限的情况,提出了使用expect+sudo的变通方法,但这种方式较为复杂,通常建议直接以root权限运行。
摘要由CSDN通过智能技术生成

最近在弄多网卡测试。本来以为很简单。不过还是费了一些力气找文档。集中记录一下。

1使用socket模块,绑定本地地址

#!/usr/bin/perl -w
# tcp_socket_cli.pl
use strict;
use Socket;
my $addr = $ARGV[0] || '220.181.x.x';
my $port = $ARGV[1] || '80';
my $dest = sockaddr_in($port, inet_aton($addr));
my $localaddr_port = sockaddr_in(0,inet_aton('192.168.1.8'));
 
my $buf = undef;
socket(SOCK,PF_INET,SOCK_STREAM,6) or die "Can't create socket: $!";
bind(SOCK,$localaddr_port) or die "Can't bind socket: $!";  
connect(SOCK,$dest)                or die "Can't connect: $!";

 close SOCK;


2.使用io:socket:inet模块,绑定本地地址

#!/bin/env perl
use strict ;
use IO::Socket qw(:DEFAULT :crlf);
use Time::HiRes qw(time);
use Time::Local;
  
my  $sock = IO::Socket::INET->new(PeerAddr => '220.181.x.x',
     PeerPort => 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值