Linux下离线分析网络数据包2~7层信息脚本

两年前为了更好验证正确性,刚摸PERL,写的一个数据包分析脚本,整体还是比较弱的,缺少了perl的任性

这个脚本优点有:

1:基本能将wireshark的命令行程序tshark的所有用法都揽括在内了,再也不用担心不会命令了

2:离线能够分析链路层,IP层,TCP层以及HTTP层的相关信息,并以文件方式储存起来

3:由于输入是一个文件列表,所以可以一次性处理多个数据包文件,每个文件信息分开储存起来

[……]

Read more

离线分析数据包文件端口流量以及占比脚本

在验证正确性的时候,时常要统计指定端口的流量,也就是frame length,这里是一个简单的PERL程序,将打印所有的端口流量,以及流量所占比例,可以在Linux系统下安装有tshark的环境下运行

#!/usr/bin/perl
##########################################
##input:
##  trace file list
##output:
##[......]

Read more

Linux实时输出指定网卡流量

理论上能正常运行ifconfig的Linux操作系统都可适用这个脚本(当然一般默认会安装perl),打印实时网卡流量和丢包数,好久前当时为了验证输出流量随手写的,多次想改得漂亮点,一直没动手,就这样吧,以免用的时候找不到

其实我还想评论自己一句:把Perl写得跟C语言新手一样,真是Perl的悲哀!!!

#!/usr/bin/perl -w
##############################[......]

Read more

分配表:默认行为

写完前面那篇,感觉十分有价值,突然也想起公司里咋们平时开玩笑的有关架构的评论

分配表是数据,而不是代码,所以它可以在运行时改变,你可以在你想的任何时候插入新的指示到表里;也就是消除了if-else树,更大的价值在于不用在配置里添加了新的内容的时候,又要找到读取,行为函数里,添加读取内容的else if以及一堆或许十分复杂的处理函数,让整个处理过程显得十分的臃肿,可读性比较差;而通过分配表,只需要修[……]

Read more

Perl符号识别数据类型

perl和python相比最大的差别除了文化宗旨外,应该就是有没有奇形怪状的符号了,有时候完全不知道到底是要当作什么类型来处理,不过只要把变量的含义和用法弄清楚,再难也比不上C语言里直接来三个指针符号坑爹

$符号表示的是一个元素,可以是标量,也可以是数组或者哈希里的某个元素

$scalar

$array[0]

$hash{‘key’}

@符号表示一个数组,多个元素的集合,下面分别是数组切片和哈希切[……]

Read more

Perl和Python遍历文件小例子性能比较

一般来说,perl比python性能要好,不过这句话只针对同等水平的程序而言,像我等新手而言,再怎么写也是脚本语言,今天就随手在cygwin里写两个小例子,看看他们的执行速率

要求就分别读一个文件,每读一行,为了表示公平,变量就加1,最后将变量的最终值打印出来结束,当然仅属参考,因为可能会有更好更快的方法

随手下载一个网页,$ wget www.lihuia.com
–2014-11-10 23:[……]

Read more