自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (1)
  • 收藏
  • 关注

原创 使用firefox的插件live https header抓https包

在firefox的add-on中搜索live https header,install

2018-05-18 16:28:59 2280

原创 Net::FTP使用ipv6的地址

use Net::INET6Glue::FTP;use Net::FTP;my $ip = '2001:1100::200';    my $ftpuser = 'anonymous';    my $ftppass = '-anonymous@';    my $ftp = Net::FTP->new ($ip, Debug => 1,Passive =>1, Timeout ...

2018-04-25 14:23:22 6190

原创 Net::OpenSSH中master_opts指定不验证hostkey

use Net::OpenSSH;our $PC2         = "testPC2";our $pc2_ssh             = Net::OpenSSH->new(                                  "$PC2",                                  user     => "root",         ...

2018-04-23 10:34:30 548

原创 perl递归遍历文件夹

my $dir = '/test/test.pl';#my $dir = '/test';sub printdir{    my $dir = shift;    if(-f $dir){        print "$dir\n";        return;    }    if(! -d $dir){       print "this is not a dir\n";    }    o...

2018-04-10 16:20:05 1115

原创 perl实现的一个模式替换题目

在网上看到一个perl模式匹配的题目,自己试了下结果,留个底:以下是一个文件的一部分:block1    LAYER1        a0=56, b0=147.345989944561, c0=11.0225098942223        a1=76, b1=174.434168420681, c1=253.89644118973        a2=42, b2=117.7749258651...

2018-04-10 11:25:23 425

原创 使用perl的模块Selenium::Remote::Driver选择下拉框的某一项

my $tool_elm = $driver->find_element("//select[\@id='current-diag-tool']");           # my @opt_elms = $driver->find_child_elements($tool_elm, "//option");            my @opt_elms = $driver->...

2018-04-04 16:10:33 318

原创 ip -6 n之后 router FAILED的问题

今天遇到一个网络问题,在centos的机器上给eth0配了静态ipv6地址(在/etc/sysconfig/network-scripts/ifcfg-eth0),然后通过firmware想去访问另一台机器,但是一直ping不通另一台机器的ipv6地址,通过ip -6 route也加了路由,但是icmpv6的包一直走default eth,不走eth0。如果先ping6一下eth0连接的firmw...

2018-03-27 16:53:53 1491

原创 linux下批量杀死进程(使用了xargs)

 ps -aux | grep ping6 | cut -c 9-15 | xargs kill -9这条命令用了管道的方式,|左边的输出作为右边的输入。ps -aux 列出进程grep ping6是找出上一步输出的进程中包含ping6的进程cut -c 9-15是截取上面输出的结果中的进程号,9-15正好是进程号xargs命令可以通过管道接受字符串,并将接收到的字符串通过空格分割成许多参数(默认...

2018-03-27 10:40:45 19882

原创 perl中$/的作用

$/在perl中是输入记录分隔符,影响perl对"行"的理解。默认是换行符"\n".也可以定义为其他的内容:需要特别注意的是,$/的值是字符串,不是模式匹配。1> 不修改$/的内容,默认为"\n"eg: test.plopen WRI, "$content = ; #读取一行@lines = ;  #将读取的所有行放入@lines数组中。close WRI;

2018-03-26 09:46:07 8503 1

原创 perl实现基本的排序算法

use Data::Dumper;#插入排序sub insert_sort{    my (@arr) = @_;    my $n   = $#arr+1;    my $tmp;    my $i;    my $j;    if($n == 0 || $n == 1)    {        return "count: $n\nno need to sort.\n";    }    fo...

2018-03-18 21:09:26 1089

原创 使用perl的Net::SMTP::SSL模块发送smtps带附件的邮件

use Net::SMTP::SSL;  use MIME::Lite;  my  $mail_from = '[email protected]';  my  $mail_to = '[email protected]';   my  $mail_subject = "Perl smtps testing1\n";  my $username

2018-03-13 16:55:12 2811

原创 perl中的引用

1. 创建引用:1.1 用反斜杠操作符:  $arr = \@ARGS;$arr = \$str;$hashref = \%hash;1.2 匿名数据1.2.1 匿名数组组合器:用方括弧创建一个匿名数组的引用:$arrayref = [1, 2, ['a', 'b', 'c', 'd']]; 通过$arrayref->[2][1] 访问数值“b”。eg:

2018-01-30 14:09:37 520

原创 使用Xvfb实现无界面Selenium自动化测试注意事项

在自动化测试时,我们经常用到的是Selenium的无界面运行。这个可以通过Xvfb实现。1. 首先要安装Xvfb,网上安装的教程也很多了,这里不赘述了。2. 启动Xvfb:Xvfb :16 -screen 0 1920x1200x24 &3. 这里做了几个实验叙述如下:1> 在不启动Xvfb的情况下,直接在VNC客户端或者带界面的客户端找个terminal运行如下程序perl

2018-01-23 10:58:42 3761

原创 perl中的format(未完待续)

perl提供了一个简单的机制帮助格式化输出,产生简单的格式化报表。包括 1. 格式声明format; 2. 执行write格式声明如下:format  FormatName =Fied linevalue line.注意:1. 如果省略了FormatName,将会定义STDOUT2. 最后一行的英式句号不能丢。格式变量:

2018-01-19 17:21:02 1402

原创 perl中Net::Telnet的errmode使用方法

Net::Telnet模块中errmode可以设置出错时的处理方式:errmode:共有四个值,这里讨论两种,die和return$mode = $obj->errmode;  # 这种方式是获得当前的出错时的处理方式的值,默认是"die"$premode = $obj->errmode($mode); #这种方式是定义一个新的出错时的处理方式的值,并返回之前的值

2018-01-16 16:05:51 903

原创 perl中模块以及模块中的函数的引入

在perl中提供了大量的模块以及别人写好的模块,可以安装使用。1> 例如可以用use File::Basename,引入模块,并且可以直接使用这个模块里面的全部函数。    use File::Basename;my $dir    = "/var/www/html";my $bname  = basename $dir;print $bname."\n";outp

2017-12-28 15:19:21 2370

原创 array slice和 hash slice

在perl中如果以@开头表示的是一列数据,更像复数形式,而以$开头,是表示某一个元素。1> 数组slice:use Data::Dumper;my @name = (1,2,3,4,5,6,7);@name  = @name[4,1,3];print Dumper(@name);Output:$VAR1 = 5;$VAR2 = 2;$VAR3 = 4;

2017-12-27 17:56:40 576

原创 perl grep and map

Perl中的grep可以从列表中取出某些需要的元素。grep 第一个参数是一个块,其中$_依次为列表中的每一个值,返回一个Boolean(true/false)值。剩下的参数是相应的列表。grep 会首先计算表达式的值,这和foreach 循环一致。如果块中最后一个表达式的返回值为true,则这个元素会被返回。1> my @test = grep { $_ % 2} 1...10输出@te

2017-12-26 15:05:00 290

原创 linux grep

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。1. 格式: grep 【options】2. 常用参数: -r: 查询所有的子文件夹。-d:不查询子文件夹。-c:只输出匹配行的计

2017-12-26 13:54:11 294

原创 Setup smtps(包含ipv4和ipv6的DNS配置)

1. 配置DNS(ipv4或者ipv6)1> cd /etc2>  vim named.confoptions {        listen-on port 53 { any; };        listen-on-v6 port 53 { any; };        directory       "/var/named";        dump-file      "/va...

2017-12-13 17:56:20 7526

原创 SMTP的几个端口的比较

1. SMTP Port 25:25口是四个端口中最老的。这是在33年前,在1982过时的RFC 821中首次引入该协议时分配给SMTP的端口号。尽管它时间长和其他端口数字的到来,端口25仍然非常广泛使用。然而,由于这个端口经常被恶意的个人利用,以便传播垃圾邮件和恶意软件,现在它被几个ISP阻塞。如果你是一个终端用户设置一个电子邮件客户端,端口25不工作,那很可能是这个原因。然后你

2017-12-12 14:49:21 69649 5

原创 用Net::SMTP发送带附件的邮件

use Net::SMTP;use MIME::Lite;my $DESTINATION = '3.3.3.3';my $DOMAIN1             = "pc1.com";my $DOMAIN2             = "pc2.com";my $MAIL_USR1           = 'test001';my $PSW1             

2017-11-24 15:11:15 2774

原创 使用openssl生成.p12文件时,直接在命令中带密码参数,而不用在终端运行命令时输入

my $exp_pass      = "password";my $cnf_file = $CONF_FILE_PATH."ssl_server_certificate.conf"; #2k cert$cmd         = "openssl req -config $cnf_file -new -x509 -sha256 -newkey rsa:2048"       

2017-10-18 16:32:56 4480

原创 CentOS httpd服务启动失败:Cannot load /etc/httpd/modules/mod_ssl.so

service httpd startStarting httpd: httpd: Syntax error on line 221 of /etc/httpd/conf/httpd.conf: Syntax error on line 11 of /etc/httpd/conf.d/ssl.conf: Cannot load /etc/httpd/modules/mod_ssl.so int

2017-09-29 10:56:16 12622

原创 IPv6无状态获取过程

X1设置为auto后,通过路由通告获得ipv6地址:  OSPF(Open shortest path first, 开放式最短路径优先): 是一个内部网关协议,用于在单一自制系统内决策路由。OSPF是一个链路状态协议(路由器之间相互交换链路状态信息),而RIP是路由矢量协议(路由表)。邻居(neighbor):OSPF只有邻接状态才会交换LSA(link state),例如:人民

2017-09-21 18:15:10 12591

原创 curl访问https网站时,先导入certificate,然后再访问

1. 先导入到curl的certificate文件中my $outfile  = '/tmp/logs/test.cer';my $tranfile = '/tmp/logs/test.pem';my $curlcert = '/etc/pki/tls/certs/ca-bundle.crt';导入之前需要将cer文件转换成pem文件:`openssl x509 -

2017-09-21 17:32:31 1611

原创 shell中使用curl时,数据为乱码的解决方法,以及一些参数的解释

在使用shell中的curl访问baidu时,返回值为乱码,可通过|iconv -fgb2312 -t utf-8方式解决:eg :curl -v -m 10 -6 https://www.baidu.com|iconv -t gb2312 -f utf-8 2>&11> -v 会打印出curl的整个的debug信息2> -m 是设置timeout信息,这里设置的是10s

2017-09-20 17:23:07 7699

原创 Perl中模式匹配后,返回的子字串可存储在标量、列表、哈希中

举例说明:1. 标量:    匹配成功返回1,匹配失败返回0;my $res = ($string=~/value='(\w+)'/);print "$res\n";output:12. 列表:use Data::Dumper;my $string = "hello perl";my @perls = $string =~ m/hello/ig ;

2017-09-20 10:11:32 546

原创 Perl中的alarm、eval、die的联合使用

1. eval:eval是一个表达式,而不是if和while这样的控制结构,eval块发生严重错误时,eval块会停止执行,但程序不会崩溃。所以在程序中执行有可能引起严重错误的代码块,但又不想影响后续程序的执行时,可以把这部分代码块放入eval中。eva块正常执行,还是发生了严重错误,放在$@中,如果没错,$@为空,否则存放错误的原因。可以用$@的boolean值判断结果:print $@ i

2017-08-23 14:02:46 2220

原创 用脚本(openssl)搭建一个self-signed certificate的https server

网上有很多介绍如何创建self-signed certificate的文章,但是有个缺点是每一步必须输入多个参数,写脚本的时候就得写成交互式的,为了写脚本的方便性,本文通过配置文件来创建一个self-signed certificate。1. 先创建一个文件夹:    mkdir /etc/httpd/ssl2.  cd /etc/httpd/ssl3. 写一个配置文件self_s

2017-08-17 17:32:07 954

原创 linux上执行cp时,总是会提示overwrite,如何不提示呢?

在linux上为了防止文件被不提示就覆盖掉,所以加了别名,可以通过在命令行输入alias或者打开~/.bashrc文件看linux中的别名:# aliasalias cp='cp -i'alias l.='ls -d .* --color=tty'alias ll='ls -l --color=tty'alias ls='ls --color=tty'alias mv='m

2017-08-17 10:55:15 7675

原创 脚本telnet失败,而host上直接telnet是成功的

直接在host上telnet XXXX是可以的,在pc1上直接运行tqtest也是可以的,但是从auto中运行脚本就会报错:Connection closed by foreign host.并且在/var/log/messages中显示:Aug 14 22:55:42 VTB93-PC2 xinetd[18654]: START: telnet pid=18688 from=13

2017-08-15 16:06:35 1227

原创 用变量定义模式匹配字符串时,用单引号和双引号的区别

my $match_str = 'Host:\s*www\.facebook\.com\s*Command:\s*GET\s*Policy:'.                            '\s*CFS\s*Default\s*Policy\s*Info:\s*\d*\(From\s*DPI\)'; if($logs =~ m/$match_str/is){        

2017-08-10 15:40:48 1244

原创 CentOS 命令行通过命令获取ipv4和ipv6地址

1. 方法一:dig $INTERNET_URL AAAA +short2. 方法二:nslookup

2017-08-08 14:59:44 6693

原创 在centos中用脚本给firefox导入certificate

在写自动化测试脚本时,如果想给firefox导入certificate,可以使用certutil工具。具体介绍可以看https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Tools/certutilcertutil -A -n \"CN=SonicWALL Firewall DPI-SSL\" -t \"u,u,

2017-08-02 10:19:23 844

原创 Perl中指定函数参数类型

今天看到一个函数如下这么写的,开始不是很理解为什么这么写,也不是很明白这种参数值如何传入。eg:sub downloadPage(\%$)最后我的传入方式是:$SONICOS->wgetPage($name, $outfile);

2017-08-01 16:23:30 470

转载 IPv6 auto config原理详解之-----前缀公告

转载自:http://www.2cto.com/net/201108/99970.htmlTechnorati 标签: IPv6,IPv6 prefix,IPv6 auto config人们常说,IPv6的一大特性就是移动性。那么对于IP终端来说,如何去理解他的移动性呢?其实就是IPv6的无状态自动配置。前段时间有幸一个同事给我演示了一下这个功能,但是更多的疑问产生了。

2017-07-25 15:07:45 9426

原创 Perl的system后使用单引号和双引号以及其中包含变量的区别

下面通过两个示例,来更加明了的解释他们的区别:1. $home  = "/dev";    $out = system "ls -l $home";(双引号)    print "out: $out\n";output:    输出的是/dev文件夹下的内容;2. $home  = "/dev";   $out = system 'ls -l $home';(单引号)

2017-07-24 17:28:44 2360

原创 Perl中system和反引号··的使用区别的

perl调用子进程的最简单的方式是用system。1. 返回值问题1> $out = system "date";    print "out: $out\n";output:Mon Jul 24 11:25:50 EDT 2017out: 0  (执行成功的时候,system返回的值是0,如果想要将命令的运行结果放入到变量$out中,要用`date`)

2017-07-24 17:06:20 3798

原创 quotemeta函数为预定义的字符前加反斜杠

quotemeta函数为预定义的字符前加反斜杠。很多时候在定义一个好一个字符串后,想在模式匹配中也用这个字符串去匹配,但是又担心里面有预定义的字符,比如.等,可以用quotemeta这个函数。eg:my $quote_ipv4 = quotemeta($remote_ipv4);

2017-07-24 15:20:38 534

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除