UNIX環境設定監聽埠的指令碼

charsi發表於2014-02-25

我們在做系統維護的時候,有時候會遇到開通某個網路埠後需要驗證,但是因為各種原因埠沒有開啟不知道該怎麼去驗證的情
況。
這是個看似簡單,但實際操作起來卻讓人頭疼的“小問題”。以前在做專案的時候,當時亞聯的老蔡大拿提供了一個用perl寫的指令碼,未經許可,擅自轉載希望老蔡不要找我麻煩

如下:
# cat socket.pl_20
#!/usr/bin/perl -w
use strict;
use Socket;
my $port=50001;
my $address=sockaddr_in($port,INADDR_ANY);
socket(MY_SERVER,AF_INET,SOCK_STREAM,getprotobyname('tcp')) || die ("No socket");
bind(MY_SERVER,$address) || die ("Can't bind ");
listen(MY_SERVER,10) || die("Can't listen");

while(1)
{
next unless(accept(MY_CLIENT,MY_SERVER) || die ("Can't accept"));
my $msg=;;
print("$msg\n");
close MY_CLIENT;
}
close MY_SERVER;
exit 1;

將第三行中的port引數設定為指定需要測試的埠,然後使用perl在前臺執行該指令碼即可。測試完成後,使用Ctrl+C中斷執行即可

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-1087824/,如需轉載,請註明出處,否則將追究法律責任。

相關文章