扫盲计划之:log&syslog

GUI下的log显示有:

system———->/var/log/messages

packer filter ————->/var/log/pktfilter

Local traffic————–>/var/log/ltm

audit—————–>/var/log/audit

打开GUI下的审计需要打开MCP审计功能并确保MCP的日志级别不高于notice

打开b 命令的审计则需打开bigpipe的审计

在/var/log 下其实还有很多其他日志文件

——————————————————

使用logtool可以快速的在所有日志中查找感兴趣的日志,使用方法如下

[root@v10-1:Active] log # logtool –help
Unknown option: help
Usage: /usr/bin/logtool [options] ["<SearchString>"]
Options:
–filename:    Append the log file name to the message
–level=LEVEL: Search for messages at a level
–system=NAME: Search for messages from a system
–slot=NUMBER: Search for messages from a slot
–zipped:      Search for messages in compressed log files

注意searchstring是区分大小写的。

—————————————-

在命令行下查看日志时候可以通过增加 bigcodes 管道来解析F5一些专用的抽象代码,例如

cat /var/log/ltm | bigcodes |less

—————————————-

resize-logFS 可以用来resize 给/var/log预分配的固定空间,默认是7G,可配区间是1-10G

——————–

配置syslog-ng将log发送到远程syslog服务器

Continue reading

批量检查pool member状态的脚本

这个脚本是用来检查pool member状态,如果down了就在/var/log/messages里打印日志,这个可以辅助检查是哪个pool的哪个member down了。可以弄成cron task。

#!/bin/sh
# Pool Member watch script for Big-IP V9-10
#
#——————————————————————————-
# Init
#——————————————————————————-
POOL_FLG=0
#——————————————————————————-
# Check status
#——————————————————————————-
#/usr/bin/logger -is -p debug “Script $0 start.”

#check how much member down
POOL_FLG=`/bin/bigpipe pool | grep -c “down”`

if [ $POOL_FLG -ne 0 ]; then
#echo number of down pool members
/usr/bin/logger -is -p warn “Script $0 checked $POOL_FLG Members down. ”

#check IP address of down members
DOWN_MEMBER=`/bin/bigpipe pool show | /bin/awk ‘/down/{ print $4 }’`

#Loop
for I in ${DOWN_MEMBER}
do
#echo IP address of down members
/usr/bin/logger -is -p warn “Script $0 checked ${I} is down. Check BIG-IP status.”
done
fi

[原]config sync 排错指导

在GUI点击config sync to peer和命令b config sync 具有等同的效果,都是将配置推送到对端设备上,当执行b config sync时候:

1.  系统将尝试连接对端icontrol接口(运行在对端的443之上),其间要建立SSL,并向对方出示web管理员账号和密码。

2.  同步设备master key,检查时间差异

3.  本机产生一份当前的配置的ucs,放在/var/tmp下

4.  传送ucs文件到对端的/var/local/ucs下,作为一个临时ucs

5.  通知对端备份当前配置为cs_backup.ucs

6.  通知对端机器上执行b config install安装传送过来的临时ucs文件

7.  通知对端删除临时ucs

8.  通过获取对端/var/log/configsync_peer.log日志,将对端ucs安装情况打印在屏幕上

从上述过程可以看出,任何一步受到影响都可能造成同步的失败,因此当遇到同步失败时候可以从这些过程入手,分解测试各个环节是否都正常:

Continue reading

[转]Iperf 带宽性能测试使用方法与参数说明

Iperf是一个网络性能测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。Iperf在linux和windows平台均有二进制版本供自由使用。

Iperf was developed by NLANRDAST as a modern alternative for measuring maximum TCP and UDP bandwidth performance. Iperf allows the tuning of various parameters and UDP characteristics. Iperf reports bandwidth, delay jitter, datagram loss.

Iperf使用方法与参数说明

参数说明

-s 以server模式启动,eg:iperf -s

-c host以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

通用参数

-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K

-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16

-m 显示tcp最大mtu值

-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o ciperflog.txt

-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999

-u 使用udp协议

-w 指定TCP窗口大小,默认是8KB

-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C 兼容旧版本(当server端和client端版本不一样时使用)

-M 设定TCP数据包的最大mtu值

-N 设定TCP不延时

-V 传输ipv6数据包

server专用参数

-D 以服务方式运行iperf,eg:iperf -s -D

-R 停止iperf服务,针对-D,eg:iperf -s -R

client端专用参数

-d 同时进行双向传输测试

-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000

-r 单独进行双向传输测试

-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5

-F 指定需要传输的文件

-T 指定ttl值

应用实例

使用 iperf -s 命令将 Iperf 启动为 server 模式,在客户机上使用 iperf -c启动client模式。

iperf –s

————————————————————

Server listening on TCP port 5001

TCP window size: 8.00 KByte (default)

————————————————————

iperf -c 59.128.103.56

上面使用服务端和客户端的默认设置进行测试

iperf -s -w 300K

————————————————————

Server listening on TCP port 5001

TCP window size:  300 KByte

————————————————————

iperf -c 59.128.103.56 -f K -i 2 -w 300K

设定报告间隔为2秒,服务器端和客户端的TCP窗口都开到300KB

iperf -c 59.128.103.56 -f K -i 2 -w 300K –n 1000000

测试传输约1MB数据

iperf -c 59.128.103.56 -f K -i 2 -w 300K –t 36

测试持续36秒

iperf -c 59.128.103.56 -f K -i 2 -w 300K -n 10400000 –d

测试双向的传输

iperf -c 59.128.103.56 -f K -i 2 -w 300K –u

UDP测试

其中 -i 参数的含义是周期性报告的时间间隔(interval),单位为秒;在上面的例子中,表示每隔2秒报告一次带宽等信息。

启动一个iperf服务器进程

首先要介绍的命令用来启动iperf服务器监听进程以便监听客户端连接的。命令如下:

iperf.exe -s -P 2 -i 5 -p 5999 -f k

这个命令会启动iperf,后续参数用来设定监听5999 端口(默认端口是5001), 限定iperf只允许两个连接,每5秒汇报一次连接情况。连接限制参数(-P参数)非常重要,当两个连接建立后,服务器进程就会退出。如果这个参数设定为0,那么iperf 进程将持续监听端口,并且不限制连接数量。在 Windows主机上键入该命令,会显示出如图A所示界面

图 A

简单的iperf命令 实现快速网络检测

启动一个iperf 客户端连接

iperf 的另一半就是客户端,用来连接到服务器监听端口。比如我们要连接到一台叫做 s-network1.amcs.tld 的服务器,端口为5999,连接60 秒并且每5秒显示一次状态,命令行如下:

iperf.exe -c s-network1.amcs.tld -P 1 -i 5 -p 5999 -f B -t 60 -T 1

命令启动后,s-network1 主机被用来进行网络性能检测。与Jperf GUI 界面提供的漂亮图形不同, iperf只会根据测量参数简单的报告网络带宽状况,在本例中是以 比特为单位(-f 参数)进行带宽表示的。图B显示了远程客户端与s-network1主机间的带宽性能。

图 B

简单的iperf命令 实现快速网络检测

为了应对日常便捷应用的需求,我们可以建立一个 .bat批处理文件,届时填入服务器名称即可实现快速检测。以下为实际使用的拷屏:

C:\jperf\jperf\bin>iperf
Usage: iperf [-s|-c host] [options]
Try `iperf –help’ for more information.

C:\jperf\jperf\bin>iperf –help
Usage: iperf [-s|-c host] [options]
iperf [-h|--help] [-v|--version]

Client/Server:
-f, –format    [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes
-i, –interval  #        seconds between periodic bandwidth reports
-l, –len       #[KM]    length of buffer to read or write (default 8 KB)
-m, –print_mss          print TCP maximum segment size (MTU – TCP/IP header)
-o, –output    <filename> output the report or error message to this specified file
-p, –port      #        server port to listen on/connect to
-u, –udp                use UDP rather than TCP
-w, –window    #[KM]    TCP window size (socket buffer size)
-B, –bind      <host>   bind to <host>, an interface or multicast address
-C, –compatibility      for use with older versions does not sent extra msgs
-M, –mss       #        set TCP maximum segment size (MTU – 40 bytes)
-N, –nodelay            set TCP no delay, disabling Nagle’s Algorithm
-V, –IPv6Version        Set the domain to IPv6

Server specific:
-s, –server             run in server mode
-D, –daemon             run the server as a daemon
-R, –remove             remove service in win32

Client specific:
-b, –bandwidth #[KM]    for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u)
-c, –client    <host>   run in client mode, connecting to <host>
-d, –dualtest           Do a bidirectional test simultaneously
-n, –num       #[KM]    number of bytes to transmit (instead of -t)
-r, –tradeoff           Do a bidirectional test individually
-t, –time      #        time in seconds to transmit for (default 10 secs)
-F, –fileinput <name>   input the data to be transmitted from a file
-I, –stdin              input the data to be transmitted from stdin
-L, –listenport #       port to recieve bidirectional tests back on
-P, –parallel  #        number of parallel client threads to run
-T, –ttl       #        time-to-live, for multicast (default 1)

Miscellaneous:
-h, –help               print this message and quit
-v, –version            print version information and quit

[KM] Indicates options that support a K or M suffix for kilo- or mega-

The TCP window size option can be set by the environment variable
TCP_WINDOW_SIZE. Most other options can be set by an environment variable
IPERF_<long option name>, such as IPERF_BANDWIDTH.

[转]isic使用说明

简单说明一下isic这个软件。刚安装的时候以为就一个isic的命令,其实i只是代表ip报文的意思,软件安装后有tcpsic、esic、 icmpsic、udpsic和isic5种操作命令。所以各种命令操作主要是发送该类型的报文为主,比如isic,主要是各种ip报文,可以选择各种 ip报文字段中的内容的比例,例如IP协议版本、选项字段等。注意所有发送报文的速率跟网卡有关,我们不能控制发送报文的速率,但是可以控制每秒发送报文的个数来控制发送的流量。文档内容将以帮助文件为主,结合一两个实际的命令来解释各个命令参数的作用。

1.    tcpsic

usage: tcpsic [-v] [-D] -s [,port] -d [,port]
[-r seed] [-m ]
[-p ] [-k ] [-x ]

参数含义:

-v:显示版本号,没有多大意义,不需要配置。

-D:Debug模式,会把具体的报文内容都打印出来,一般情况下不使用,在需要确定是否有报文发出的情况下可以使用。

-s:配置源ip和端口,可以不设置端口,设置时ip和端口号中间用逗号“,”连接,ip可以用随机的ip来代替,参数是rand。

-d:配置目的ip和端口,可以不设置端口,设置时ip和端口号中间用逗号“,”连接,ip同样可以设置rand,但是运行后会报错“Failed to send packet: Invalid argument”,所以目的ip一定要设置。

-r:配置发送报文的编号,其实是一个rand这个函数一个参数,如果参数固定,那么构造报文的类型就固定了。就是说你可以固定的总是发送这一个编号的报文,如果测试中确认这个编号的报文会影响到设备,就记住这个seed编号,就可以节省构造报文的时间。这个编号在发送报文之前和完毕后都会打印出来。

-m:平均发送报文大小的最大值。200以上的参数值有效,单位kB。

-p:平均发送报文的个数,注意这个不是总数,总数需要和-x 这个参数一起决定。这里的发送的个数是指发送多少个不一样的包,包的内容不一样。不带该参数表示连续不断的发送。

-k:忽略的报文个数,就是指不发送多少个报文,这里的报文是参数-p后的报文内容。

-x:重复发送同一个报文x次。这里的报文就是-p参数后的报文内容。

注:-p、-k、-x三个参数决定了总计发送了多少个报文,假设总计报文个数为N,那么存在这样一个表达式:N=(p-k)*x。也就是说k一定要小于p,不然就没有报文发出,建议不要配置k参数。

Percentage Opts: [-F frags] [-V ] [-I ]
[-T ] [-u ] [-t ]

百分比的参数配置:

-F: 发送需要分片报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-V: 发送错误IP版本号的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。控制不是很精确。

-I:发送含有IP选项字段的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-T: 发送含有TCP选项字段的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-u: 发送TCP的flag中urgent标志位置1的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-t: 发送TCP的checksum中错误的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。控制不是很精确。

注:这里的参数和参数值是针对各自的协议报文一个总的统计,在命令输入后就会有一个统计值输出,比如:-T的参数值为50,那么发送的所有TCP报文中有一半含有option字段,而IP报文不在统计之列。

ex: -s 10.10.10.10,23   -d 10.10.10.100 -I 100

will give a 100% chance of IP Options ^^^

向10.10.10.100这个地址持续不断的发送源地址为10.10.10.10,源端口为23,目的端口随机,每个IP数据包文都含有选项字段的报文。

ex: -s 10.10.10.10,23   -d 10.10.10.100 -p 100 -r 103334

向10.10.10.100这个地址发送100个源地址为10.10.10.10,源端口为23,目的端口随机,报文内容的seed编号为103334的报文。

2.    esic

usage: esic -i interface [-s ] [-d ]
[-p or 'rand'>]   [-r ]
[-c <# of pkts to send>]       [-l ]
[-m <# of pkts between printout>]

参数含义:

-i: 指定发送的接口,必须的参数,因为没有配置ip,发送的报文不知道从哪个接口送出,而且配置了接口后就可以使用了。注意:这个时候的目的地址是ff:ff:ff:ff:ff:ff,可以使用-D参数来查看,显然这样的配置导致的结果就是全网的广播风暴。

- Be careful, the source MAC defaults to your interface

and the dest MAC defaults to broadcast

这里就是说明默认的配置,源MAC为PC接口的MAC,目的MAC为广播地址。

-s: 配置源MAC地址,可以配置随机参数值rand。

-d:配置目的MAC地址,可以配置随机参数值rand。

注:它对MAC的判断不是很严格,中间用“:”或“-”连接都是正确的,不连接也可以,但是它只认后两位,例如“aabb”或“aa bb”,它会认为是“bb:00:00:00:00:00”这个MAC地址。

-p: 配置发送的协议类型编号,但是选择该参数后发包的proto是一个你配置的编号,但是它的编号和protocol的协议编号不是对应的。默认发送的是IP协议类型的数据包。

-r:配置发送报文的编号,就是说你可以固定的总是发送这一个编号的报文,如果测试中确认这个编号的报文会影响到设备,就记住这个seed编号,就可以节省构造报文的时间。这个编号在发送前会打印出来。

-c: 配置发送报文的总个数。

-l: 配置发送报文的最大长度,发送的报文length在这个参数值以内。

-m: 配置打印信息的间隔,例如-m 100表示每发送100个报文后打印一次统计信息。

examples:

esic -i eth0 -d 02:de:ad:be:ef:40 -r123 -c10000

从eth0口发出10000个seed编号123内容,目的MAC为02:de:ad:be:ef:40的报文。默认的源MAC为接口MAC地址。

3.    icmpsic

usage: icmpsic [-v] [-D] -s [,port] -d [,port]

[-r seed] [-m ]

[-p ] [-k ] [-x ]

参数含义:

-v:显示版本号,没有多大意义,不需要配置。

-D:Debug模式,会把具体的报文内容都打印出来,一般情况下不使用,在需要确定是否有报文发出的情况下可以使用。

-s:配置源ip,注意ICMP没有端口的概念,所以如果配置了端口就会报错,这里的命令提示是有错误的。ip可以用随机的ip来代替,参数是rand。

-d:配置目的ip,注意ICMP没有端口的概念,所以如果配置了端口就会报错,这里的命令提示是有错误的。ip可以用随机的ip来代替,参数是rand。

-r:配置发送报文的编号,就是说你可以固定的总是发送这一个编号的报文,如果测试中确认这个编号的报文会影响到设备,就记住这个seed编号,就可以节省构造报文的时间。这个编号在发送前会打印出来。

-m:平均发送报文大小的最大值。从试验来看这个参数无效,大小是随机的,没有受这个参数的控制。

-p:平均发送报文的个数,注意这个不是总数,总数需要和-x 这个参数一起决定。这里的发送的个数是指发送多少个不一样的包,包的内容不一样。不带该参数表示连续不断的发送。

-k:忽略的报文个数,就是指不发送多少个报文,这里的报文是参数-p后的报文内容。

-x:重复发送同一个报文x次。这里的报文就是-p参数后的报文。

注:-p、-k、-x三个参数决定了总计发送了多少个报文,假设总计报文个数为N,那么存在这样一个表达式:N=(p-k)*x。也就是说k一定要小于p,不然就没有报文发出,建议不要配置k参数。

Percentage Opts: [-F frags] [-V ] [-I ]
[-i ]

百分比的参数配置:

-F: 发送需要分片报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-V: 发送错误IP版本号的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-I:发送含有IP选项字段的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-i: 发送ICMP的checksum中错误的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。控制不是很精确。

ex: -s 10.10.10.10,23   -d 10.10.10.100 -I 100

这个实例实际上是错误的,照搬了tcpsic的实例,端口是不能被添加的。剩下的就不说了,我举几个实例说明一下。

icmpsic -s 192.168.96.10 -d 192.168.96.201 -p 10 -F 1000 -I 100 -V 100 -i 100

构造源地址为192.168.96.10(-s)的10个(-p)icmp报文(icmpsic),所有的报文都进行分片(-F 1000),ip包头全部含有选项字段(-I 100),IP的版本号全部错误(-V 100),并且所有的报文checksum都是错误的(-i),将这样的报文发向192.168.96.201(-d)这个ip地址。这样的报文如果穿过了一个转发设备的话,所有的报文应该都会被丢弃。

命令执行的过程:

[root@FC5 ~]# icmpsic -s 192.168.96.10 -d 192.168.96.201 -p 10 -F 1000 -I 100 -V 100 -i 100

Compiled against Libnet 1.1.2.1

Installing Signal Handlers.

Seeding with 2445

No Maximum traffic limiter

Bad IP Version  = 100%          IP Opts Pcnt    = 100%

Frag’d Pcnt     = 1000%         Bad ICMP Cksm   = 100%

Wrote 10 packets in 0.00s @ 2999.40 pkts/s

4.    udpsic

usage: udpsic [-v] [-D] -s [,port] -d [,port]

[-r seed] [-m ]

[-p ] [-k ] [-x ]

参数含义:

-v:显示版本号,没有多大意义,不需要配置。

-D:Debug模式,会把具体的报文内容都打印出来,一般情况下不使用,在需要确定是否有报文发出的情况下可以使用。

-s:配置源ip和端口,可以不设置端口,设置时ip和端口号中间用逗号“,”连接,ip可以用随机的ip来代替,参数是rand。

-d:配置目的ip和端口,可以不设置端口,设置时ip和端口号中间用逗号“,”连接,ip同样可以设置rand,但是运行后会报错“Failed to send packet: Invalid argument”,所以目的ip一定要设置。

-r:配置发送报文的编号,就是说你可以固定的总是发送这一个编号的报文,如果测试中确认这个编号的报文会影响到设备,就记住这个seed编号,就可以节省构造报文的时间。这个编号在发送前会打印出来。

-m:平均发送报文大小的最大值。200以上的参数值有效,单位kB。

-p:平均发送报文的个数,注意这个不是总数,总数需要和-x 这个参数一起决定。这里的发送的个数是指发送多少个不一样的包,包的内容不一样。不带该参数表示连续不断的发送。

-k:忽略的报文个数,就是指不发送多少个报文,这里的报文是参数-p后的报文内容。

-x:重复发送同一个报文x次。这里的报文就是-p参数后的报文内容。

Percentage Opts: [-F frags] [-V ] [-I ]

[-U ]

百分比的参数配置:

-F: 发送需要分片报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-V: 发送错误IP版本号的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。控制不是很精确。

-I:发送含有IP选项字段的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-U: 发送checksum错误的UDP报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

配置实例:

udpsic -s 192.168.96.10,10 -d 192.168.96.202,80 -p 100 -U 10 -V 0 -F 0 -I 0

构造源地址为192.168.96.10源端口为10(-s)的,checksun有10%(-U)为错误的,没有分片(-F)和ip选项(-I),正确协议(-V)类型的10个(-p)udp报文(udpsic)发送给目的地址为192.168.96.202目的端口为80(-d)的主机。

这个实例可以检验DUT设备是否对分片、协议类型错误、checksum错误等是否进行检测。

命令执行的过程:

[root@FC5 ~]# udpsic -s 192.168.96.10,10 -d 192.168.96.202,80 -p 100 -U 10 -V 0 -F 0 -I 0

Compiled against Libnet 1.1.2.1

Installing Signal Handlers.

Seeding with 2475

No Maximum traffic limiter

Bad IP Version  = 0%            IP Opts Pcnt    = 0%

Frag’d Pcnt     = 0%            Bad UDP Cksm    = 10%

Wrote 100 packets in 0.01s @ 15835.31 pkts/s

5.    isic

usage: isic [-v] [-D] -s -d
[-p ] [-k ] [-x ]
[-r ] [-m ]

参数含义:

-v:显示版本号,没有多大意义,不需要配置。

-D:Debug模式,会把具体的报文内容都打印出来,一般情况下不使用,在需要确定是否有报文发出的情况下可以使用。

-s:配置源ip,ip可以用随机的ip来代替,参数是rand。

-d:配置目的ip, ip同样可以设置rand。

-r:配置发送报文的编号,就是说你可以固定的总是发送这一个编号的报文,如果测试中确认这个编号的报文会影响到设备,就记住这个seed编号,就可以节省构造报文的时间。这个编号在发送前会打印出来。

-m:平均发送报文大小的最大值。200以上的参数值有效,单位kB。

-p:平均发送报文的个数,注意这个不是总数,总数需要和-x 这个参数一起决定。这里的发送的个数是指发送多少个不一样的包,包的内容不一样。不带该参数表示连续不断的发送。

-k:忽略的报文个数,就是指不发送多少个报文,这里的报文是参数-p后的报文内容。

-x:重复发送同一个报文x次。这里的报文就是-p参数后的报文内容。

Percentage Opts: [-F frags] [-V ]
[-I ]

百分比的参数配置:

-F: 发送需要分片报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。

-V: 发送错误IP版本号的报文的百分比,可以直接输入数字或百分数,例如50=50%,也可以大于100,不会报错,命令可以执行。控制不是很精确。

-I: 发送IP报文的头部使用随机的长度的报文的百分比。

配置实例:

isic -s 192.168.96.10 -d 192.168.96.202 -p 10 -I 100

-I表示所发送的IP报文都使用随机的Header length,其它的就不多罗嗦了。

使用小结:

isic这个工具主要是测试DUT对非正常报文的处理情况,有的设备检测五元组,有的还检测checksum,有的还检测tcp的序列号,所以使用 isic这个工具可以构造我们所需要的正常或非正常报文,来检测DUT对报文内容的检测深度和处理的速度。而且它自身的统计功能可以很好的为测试服务,提 高了测试的精度。

isic工作原理

刚开始使用发包工具的时候会觉得这个东西很神奇,可以构造出这么多不同的报文,还可以控制一些参数来发送自己想要发送的报文,但是看过源码文件以后,也许就没有这么神秘了。

以isic-0.06来说,先看看解压tar包后的文件内容:

isic使用说明

isic_图1

安装过程就不多说了,看其中一个c文件就可以知道它的报文是怎样构造的了,以isic.c为例,看其中一部分内容。

isic使用说明

isic_图2

可以学习到isic的含义:ISIC – IP Stack Integrity Checker,就是IP协议栈完整性检测的意思。

isic使用说明

isic_图3

可以看到main函数中定义了默认的参数值,例如默认的分片的比例值,默认发送的次数,最大的发包速率等信息,很显然isic是依靠对应的c文件去构造报文的。构造完毕后经由网卡发送出去。

GTM的那些事

SOL 类

updating。。。。。

some free CA

www.myca.cn

www.ca365.com

上面两个是国内的公司搞的 ,提供测试证书,单根的。但貌似每个网站都有点问题。

www.cacert.org

国外的,单根证书,比较麻烦需要自己有一个域名,且有一个该自己域名后缀的邮箱,但一旦注册成功签发证书还是很爽的。

http://www.wosign.com/Products/free_SSL.htm

Wosign公司的,提供免费的测试证书而且是多级的

http://www.freeca.cn

也是国内的一个免费CA,我没用过,看着界面挺清爽的

自己做CA

1.windows服务器可以做CA服务器,但是在测试F5gtm iquery通信时用Windows做出的CA死活不行,换了证书就可以。

2.openssl,HOho自己研究了

3.网上有一个叫自信CA的小软件工具集,里面有一个叫 zxca165—数字证书工具专业版 。

这个小软件可以图形化很简单的做CA并签发证书,但是我测试发现,如果同时做了两个CA在面,后做的CA总是无法实现多级,第一个创建的CA则可以,不过用来测试还是不错了,而且还附带了不少实用功能,比如格式转换等:下载格式转换小软件

CrtFt

其他一些在线辅助工具: