有时候,当我孤独地坐着等待生命大门关闭时,一种与世隔绝的感觉就会像冷雾一样笼罩着我。远处有光明、音乐和友谊,但我进不去,命运之神无情地挡住了大门。我真想义正词严地提出抗议,因为我的心仍然充满了热情。但是那些酸楚而无益的话语流溢在唇边,欲言又止,犹如泪水往肚里流,沉默浸透了我的灵魂。然后,希望之神微笑着走来对我轻轻耳语说:“忘我就是快乐。”因而我要把别人眼睛所看见的光明当作我的太阳,别人耳朵所听见的音乐当作我的乐曲,别人嘴角的微笑当作我的快乐。

发布新日志

  • 测试经验小结

    2009-07-23 13:50:15

    在测试中遇到很多 问题。

    手工测试中

    技术问题:在开始测试的一段时间,问题发现比较少。原因是:按照系统功能和流程测试,基本上没啥问题。
    后来总结发现:问题都是在变化中的。从技术流程上,进行发现。
    从测试思路上,不断改变才是关键的。客户端的多元化:测试仪构造流量。Pc机申请流量。
    系统配置修改和下发。端口修改,配置删除增加。
    在高压环境上测试。制造系统处于工作环境,然后再做各种动作。
    与其它特性相结合,进行测试。
    借助其它测试工具,进行多流量测试。龙卷风。
    看看之前版本的问题单,载验证。这些问题还比较多。
    发散测试。在测试后有新的发现,可以补充测试。

    诚恳对待漏测:
    漏测的问题总是困扰着大家。第一次开漏测分析会议,我比较紧张,感觉很有挫败感。其实从现实情况来说,漏测是不可避免的,但是又是需要不断改进的。抓好漏测,是提高问题发现率的第一步。后来开会,大有一种虱子多了不怕痒,脸皮放厚,思想放活,继续测试。

    如何和开发沟通:不要完全相信开发的话。这不是对于诚信的否定,而是对于看问题的角度不同,产生的差异。 问题有了合理的解释后,才可以放下。
    如:有些问题是很难修改的。回归测试的时候需要擦亮眼睛,按照完成的功能反复测试,很可能又是问题。看到开发给你的问题单修改后,拍拍胸脯说:已经改好了,你会怎么想?抱着有问题的心态,按照不同的顺序,验证功能,可能又是一个问题。

    如:在问题定位的初期,开发人员说这是相同的问题,但是他的解释还是让你有些疑惑。这个时候你要和他交流清楚,才可以。往往最开始认为是一个问题,后来发现根本不是这么回事。这就是漏测啦!

    注意工作的效率和阶段。不是所有的时候都会对问题咬住不放。易用性问题,可以一起提单,很多问题都是容易复现和定位的,自己进行操作,发现出现问题的根源,既是锻炼了自己,同时也是提高技术的一种方法。

    工作中总有很多冲突,不要觉得麻烦,不好意思,尤其是自己还是菜鸟的时候。明确你的原则,就能做对事。问一遍,问2遍,绝不问第3遍。

    帮助别人,也是一种快乐!
    很多时候,我们不是全能专家。搭建一个环境,讲解一个问题,都会形成良好的友谊。当你面对一大堆问题而都很茫然的时候,你的朋友的到来,就是提高效率的有力武器。

     

    自动化测试:

    自动化测试是正向验证的多。但是不回避问题。自动化测试发现的问题按照几个来算的。是衡量整个版本的质量。

    自动化脚本的可维护性,可读性是很重要的。
    脚本的修改比较容易,维护时间短,不会给系统造成其他问题。
    脚本的可读性好,出现问题后就能说清楚。这两点对于后期都是很重要的。
    自动化一个脚本执行的时间不要太长,重新复现的时候需要的时间就比较短。

    自动化脚本的写作人员既是技术的专家,同时也是脚本编制的高手。自动化是全员都能参与的。

  • 状态检测防火墙

    2009-07-23 09:36:25

    从网络协议分层的角度,防火墙分为:

    包过滤防火墙

    状态检测防火墙

    应用层防火墙

     

    基于包过滤防火墙,由于不能预先知道报文确切的IP地址和端口信息,往往会开启很多端口,造成无法拦截,或者拦截太多的问题

    基于状态检测的防火墙,规则中允许从内部访问外部,从内部访问外部时,响应的在状态表中添加这条回话信息,包含源IP地址和端口号,目的IP地址和端口号。根据这条状态信息,防火墙允许外部的响应报文进入。回话信息有一个超时值,之后这条回话信息删除。实际中使用的聊天工具,如QQ,MSN等都是这么实现的。 另外,用户很久不在线,还是能收到腾讯给用户发送的信息,这个原因是客户端不到1分钟会主动与服务器联系,刷新回话信息。

    状态监测防火墙不能过滤掉应用层中的特定内容。这个需要应用层防火墙来完成。针对每一种协议,都需要开发一种协议过滤器,比较复杂。

     

  • tcl语言特点

    2009-07-23 07:29:52

    tcl语言属于脚本语言的一种。

    1.1         TCL语言简介

    Tcl是一种很通用的脚本语言,它几乎在所有的平台上都可以解释运行,功能强大。

    TCL简单易学,功能强大。TCL经常被用于快速原型开发、脚本编程、GUI和测试等方面。

    tool command language的缩写,发音为 "tickle”, 实际上包含了两个部分:一个语言和一个库。

    首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些交互程序如文本编辑器、调试器和shell。它有一个简单的语法和很强可扩充性,Tcl可以创建新的过程以增强其内建命令的能力。

    其次,Tcl是一个库包,可以被嵌入应用程序,Tcl的库包含了一个分析器、用于执行内建命令的例程和可以使你扩充(定义新的过程)的库函数。应用程序可以产生Tcl命令并执行,命令可以由用户产生,也可以从用户接口的一个输入中读取(按钮或菜单等)。

    Tcl和其他编程语言例如C不同,它是一种解释语言而非编译语言。Tcl程序由一系列Tcl命令组成,在运行时由Tcl解释器解释运行。

    解释执行的语言因为解释器不需要直接同机器码打交道所以实现起来较为简单、而且便于在不同的平台上面移植,这一点从现在的编程语言解释执行的居多就能看出来

    编译执行的语言因为要直接同CPU 的指令集打交道,具有很强的指令依赖性和系统依赖性,但编译后的程序执行效率要比解释语言要高的多,象现在的 Visual C/C++、Delphi 等都是很好的编译语言。

     

    Tcl的一个重要特性是它的扩展性。如果一个程序需要使用某些标准Tcl没有提供的功能,可以使用c语言创造一些新的Tcl命令,并很容易的融合进去。

    Tk是一系列令Tcl易于编写图形用户接口GUI的命令和过程。另一个流行的扩展包是Expect.Expect提供了通过终端自动执行命令的能力,例如(passwdftptelnet等命令驱动的外壳)

    tcl 是一种类C的脚本语言,相比较之下有其自身特点:

    1 可移植性好。不依赖底层协议

    2 支持多种平台。Tcl 是用 C 语言开发的。它现在可运行在 Unix,Windows 和 Macintosh 等各种平台上。

    3 较高的执行效率

    4 简单易学

    5 与操作系统集成

    总之,“小巧,易学,高效,跨平台执行”是 Tcl 语言特点的集中体现。

    tcl 语言是一种类C的解释执行的语言,本身不依赖与机器码,所以执行效率高,同时支持多种平台,移植性也好。

    tcl本身比较 容易掌握,应用范围很广。我们知道的,界面测试和测试都使用很多。

    对于tcl本身不能实现的功能,通过c语言创建行命令,然后融合就可以实现,这个也就是说扩展性上也很好。常用的有TK和expect ,后者用于终端自动执行命令行。

     

    TCL脚本框架:

    连接设备部分

    spawn telnet 10.255.255.240  登陆设备

    expect "Username:"           期望输入用户名

    send "admin\n"             

    expect "Password:"

    send "XXXXXX\n"

    expect "3750>"

    send "en\n"

    expect "Password:"

    send "XXXXXX\n"

    expect "3750#"

    send "ping 192.168.100.100\n"

    expect "3750#"

    send "config t\n"

    expect "#"

    send "ip route 123.2.1.1 255.255.255.255 null0\n"

    expect "#"

    使用自定义函数

    使用的全局变量

    #global veriables

    set g_dbgflag 1

    set g_devip "192.168.1.222"

    set g_user "root"

    主程序执行

    批命令执行

    # $Id$
    # Construct different source MAC address packets, and send them to switch.

    proc src_mac_attack {mac} {
        set rc [exec echo "src MAC attack packet $mac" \
            | nemesis ethernet -M 00:01:02:03:04:05 -H $mac -T 0x0800 -P -]
        return $rc
    }


    for {set i 1} {$i < 256} {incr i} {
        set mac [constructMac $i]
        src_mac_attack $mac
    }

    # $Id$
    # Construct different source MAC address packets, and send them to switch.

    proc src_mac_attack {mac} {
        set rc [exec echo "src MAC attack packet $mac" \
            | nemesis ethernet -M 00:01:02:03:04:05 -H $mac -T 0x0800 -P -]
        return $rc
    }


    for {set i 1} {$i < 256} {incr i} {
        set mac [constructMac $i]
        src_mac_attack $mac
    }

  • DNS

    2009-07-22 19:50:17

    DNS是Domain name system 域名系统,实现了域名和地址的相互转换。

    明确的概念:

    1 DNS是使用层的方式来运作的。

    2 计算机用户是间接不是直接使用域名系统的。

    3 网络中的每个主机采用层次结构的命名树来命名。

    4 名字到服务器的解析是由网络中若干个域名服务器完成的。

    inter 网采用域名树结构命名网络中的主机。

    因特网 的域名结构:

    1 域名结构是采用层次树的形式完成的。

    2 在网络上的每个主机有唯一的层次结构的名字,即域名。

    3 域名是由若干分量组成的,中间用点隔开

    4 各分量代表不同级别的域名。

     

    以域名www.cs.tsinghua.edu.cn为例,顶级域名是cn ,二级域名是edu ,三级域名是tsinghua,四级域名是cs 。而cn后面的“。”也就是树根。而“.”这层是由InterNIC(Internet Network Information Center,互联网信息中心)所管理。
     
    域名解析-递归查询实例
     1、位于用户计算机的解析器(resolver)作为客户向DNS服
    务器(dns.pku.edu.cn)发出一个请求。
     
    2、DNS服务器在本机内查询,如果有相应纪录,则向解析器
    发回一个应答。如果没有,则向根服务器(dns.edu.cn)查询。
     
    3、根服务器将查询结果返回给DNS服务器,DNS服务器给解析器发回一个应答(166.111.68.13)。
     
    DNS的性能优化:

    1 采用根服务器复制,分布在不同的地方。

    2 主机和服务器都保存一个域名缓存,在一定时间内有效,这个时间由管辖者给出。

     

  • dhcp option60

    2009-07-22 15:55:13

    用户定义厂商类型。 可以是n个字符串类型,

    Option 60 协议说明

    供应商的识别ID。 这个选项的资讯会给予 DHCP Server 在做 DHCP 回应时必要附加讯息上面的提示

  • dhcp Option 82

    2009-07-22 14:57:25

    dhcp 协议的option 82字段  用于标识用户的位置信息。现在只添加sub-option 1和sub-option 2,不添加sub-option5。 华为提出的Option 82用于用户物理位置定位。sub-option 1修正为“节点+框号/槽位号/子槽/端口号 + vlan ,节点表示mac地址或者是系统名称。sub-option2没有改变,表示的是的relay系统mac地址。

    在标准模式,sub-option 1是接收报文的二层端口号和vlan号,sub-option 2是接收报文设备的mac地址。

    在连接的DHCP 中继支持Option82 :

    1 客户端在初始化时发送广播报文。

    2 若本网段中有DHCP服务器,服务器返回地址信息。

    3 若本网段没有DHCP服务器,由DHCP中继对广播报文进行处理

    4 若中继收到的报文中包含Option 82信息,将安照策略进行(丢弃,用自身信息进行替代或者保持不变),然后把报文转发给DHCP服务器。

    5 若中继收到的报文中没有包含Option 82信息,中继将添加Option 82字段,也就是说,把自身的mac地址,和vlan ,端口的信息添加在Option 82 字段中。

    6 DHCP 服务器收到报文后,把相关的DHCP配置信息和Option 82 字段填充后,转发给DHCP 中继。

    7 DHCP中继把Option 82字段剥离,然后把DHCP报文转发给客户端。

  • TCL语言

    2009-07-22 10:51:34

    tcl 一直存在的问题是:很少用,没有编过程序。这样产生的问题呢就是:看不懂,而且不会自己写。

    所以:

    1 在网站上看tcl脚本,结合理论进行理解。

    2 自己试着编编,就熟悉了。

    从网站上看了这位的脚本,确实是自己编写的,就细细分析下好了!

    http://blog.chinaunix.net/u2/82392/article_97213.html

    1.SSH到linux主机上查看linux内核版本号

     

    #!/usr/expect/bin/expect

     

    set HOSTIP [lindex $argv 0]

    set LOGIN [lindex $argv 1]

    set PASS [lindex $argv 2]

     

    set timeout 1

    set cmd {uname -a}

     

    if {$argc<3} {

            puts stderr "Usage:$argv0 hostip login password.\n"

            exit 1

    }

     

    send_user "argv0:  $argv0\n"

    send_user "argv:  $argv\n "

     

    spawn ssh $LOGIN@$HOSTIP

    expect_after eof { exit 0 }

     

    expect "yes/no" { send "yes\r" }

    expect "password:" { send "$PASS\r" }

    expect "#"

    send "$cmd\r"

    expect "*\r"

    send "exit\r"

     

    其中,expect 和send ,spawn在tcl 中没有找到。

  • VLAN转贴学习

    2009-07-21 23:10:44

    以太网端口有三种链路类型:Access、Hybrid和Trunk。Access类型的端口只能属于1个VLAN,一般用于连接计算机的端口; Trunk类型的端口可以属于多个VLAN,可以接收和发送多个VLAN的报文,一般用于交换机之间连接的端口;Hybrid类型的端口可以属于多个 VLAN,可以接收和发送多个VLAN的报文,可以用于交换机之间连接,也可以用于连接用户的计算机。Hybrid端口和Trunk端口的不同之处在于 Hybrid端口可以允许多个VLAN的报文发送时不打标签,而Trunk端口只允许缺省VLAN的报文发送时不打标签。
    Access端口只属于1个VLAN,所以它的缺省VLAN就是它所在的VLAN,不用设置;Hybrid端口和Trunk端口属于多个VLAN,所以需要设置缺省VLAN ID。缺省情况下,Hybrid端口和Trunk端口的缺省VLAN为VLAN 1
    如果设置了端口的缺省VLAN ID,当端口接收到不带VLAN Tag的报文后,则将报文转发到属于缺省VLAN的端口;当端口发送带有VLAN Tag的报文时,如果该报文的VLAN ID与端口缺省的VLAN ID相同,则系统将去掉报文的VLAN Tag,然后再发送该报文。
    另外需要注意的是:
    (1) Trunk端口不能和isolate-user-vlan同时配置;Hybrid端口可以和isolate-user-vlan同时配置。但如果缺省 VLAN是在isolate-user-vlan中建立了映射的VLAN,则不允许修改缺省VLAN ID,只有在解除映射后才能进行修改。
    (2) 本Hybrid端口或Trunk端口的缺省VLAN ID和相连的对端交换机的Hybrid端口或Trunk端口的缺省VLAN ID必须一致,否则报文将不能正确传输。

    交换机接口出入数据处理过程!
    tag就是普通的ethernet报文,报文结构的变化是在源mac地址和目的mac地址之后,加上了4bytes的vlan信息,也就是vlan tag头;untag就是普通的ethernet报文,比tag报文少了4 bytes字节。
    情况列举 Switch收发 Switch对标记的处理 remark
    Access (接收) Tagged = PVID 不接收 注:部分高端产品可能接收。
    Access (接收) Tagged =/ PVID 不接收 注:部分高端产品可能接收。
    Access (接收) Untagged 接收 增加tag=PVID 从PC
    Access (发送) Tagged = PVID 转发 删除tag
    Access (发送) Tagged =/ PVID 不转发 不处理
    Access (发送) Untagged 无此情况 无此情况 无此情况
    Trunk (接收) Tagged = PVID 接收 不修改tag
    Trunk (接收) Tagged =/ PVID 接收 不修改tag
    Trunk (接收) Untagged 接收 增加tag=PVID
    Trunk (发送) Tagged = PVID If Passing then 转发 删除tag
    Trunk (发送) Tagged =/ PVID If Passing then 转发 不修改tag
    Trunk (发送) Untagged 无此情况 无此情况 无此情况(注)
    Hybrid (接收) Tagged = PVID 接收 不修改tag 对端是trunk
    Hybrid (接收) Tagged =/ PVID 接收 不修改tag 对端是trunk
    Hybrid (接收) Untagged 接收 增加tag=PVID 类Trunk
    Hybrid (发送) Tagged = PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项
    Hybrid (发送) Tagged =/ PVID Tag 和 untag 中列出的vlan可以passing 看Tag项和untag项
    Hybrid (发送) Untagged 无此情况 无此情况 无此情况(注)

    收报文:
    Acess端口
    1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
    发报文:
    Acess端口:
    1、将报文的VLAN信息剥离,直接发送出去
    收报文:
    trunk端口:
    1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃
    发报文:
    trunk端口:
    1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送
    收报文:
    hybrid端口:
    1、收到一个报文
    2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃
    发报文:
    hybrid端口:
    1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)
    2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送

  • vlan 技术

    2009-07-21 21:43:48

    lan局域网是一个单独的广播域,使用hub ,网桥或者交换机网络设备连接同一网段内的所有节点。

    VLAN,又称虚拟局域网,他的出现减少了不同网络之间通信的时间长的问题 。

    VLANVirtual LAN),翻译成中文是“虚拟局域网”。

    VLAN所指的LAN特指使用路由器分割的网络——也就是广播域

    一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗

    使用交换机和路由器分割广播域的比较?

    二层交换机上分割广播域的技术,就是VLAN二层交换机一般带有多个网络接口,通过利用VLAN,我们可以自由设计广播域的构成,提高网络设计的自由度

    分割广播域时,一般都必须使用到路由器。使用路由器后,可以以路由器上的网络接口(LAN Interface)为单位分割广播域。使用路由器分割广播域的话,所能分割的个数完全取决于路由器的网络接口个数,数目为4个,一般比较少。使得用户无法自由地根据实际需要分割广播域。

    是由位于不同物理局域网段的设备组成。虽然VLAN所连接的设备来自不同的网段,但是相互之间可以进行直接通信,好像处于同一网段中一样,由此得名虚拟局域网。

    有基于不同方法划分的vlan :

    1 基于端口划分

    2基于设备的mac地址划分

    3 基于网络层的IP地址或者协议类型划分

    这种划分VLAN的方法是根据每个主机的网络层地址或协议类型

    4 基于组播划分

    目前使用的是端口划分

     

    802.1q 协议:为标识带有vlan成员的以太帧建立了一种标准方法。实现了不同厂商的vlan 互通。

    VLAN报文格式在源地址后增加了一个4字节的802.1Q标签。 4个字节的802.1Q标签中,包含了2个字节的标签协议标识(TPID--Tag Protocol Identifier,它的值是8100),和两个字节的标签控制信息(TCI--Tag Control Information),TPIDIEEE定义的新的类型,表明这是一个加了802.1Q标签的报文。

    Ÿ            VLAN Identified( VLAN ID ): 这是一个12位的域,指明VLANID,一共4096个,每个支持802.1Q协议的主机发送出来的数据包都会包含这个域,以指明自己所属的VLAN

    Ÿ            Canonical Format Indicator( CFI ):这一位主要用于总线型的以太网与FDDI、令牌环网交换数据时的祯格式。

    Ÿ            Priority:这3 位指明祯的优先级。一共有8种优先级,主要用于当交换机阻塞时,优先发送优先级高的数据包。

     

     TPI 2字节协议标识符以太网为0X8100
    ⑥ P   3位的优先级对应十进制的0—7(802.1Q有效)
    ⑦ C   1位的规范标识符,标明MAC地址是否符合以太网标准,符合为0
    ⑧ VI  12位的VLAN ID 标识帧所属VLAN,范围0—4095

     不同VLAN间互相通信时需要用到路由功能。

    静态VLAN又被称为基于端口的VLANPort Based VLAN)。顾名思义,就是明确指定各端口属于哪个VLAN的设定方法。不适合那些需要频繁改变拓补结构的网络

    根据OSI参照模型哪一层的信息决定端口所属的VLAN

    种类

    解说

    静态VLAN(基于端口的VLAN)

    将交换机的各端口固定指派给VLAN

    动态VLAN

    基于MAC地址的VLAN

    根据各端口所连计算机的MAC地址设定

    基于子网的VLAN

    根据各端口所连计算机的IP地址设定

    基于用户的VLAN

    根据端口所连计算机上登录用户设定

     

      配置vlan 技术:
    端口类型:
     
    收报文:
    Acess端口
    1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则直接丢弃(缺省)
    发报文:
    Acess端口:
    1、将报文的VLAN信息剥离,直接发送出去
    收报文:
    trunk端口:
    1、收到一个报文,判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有判断该trunk端口是否允许该 VLAN的数据进入:如果可以则转发,否则丢弃
    发报文:
    trunk端口:
    1、比较端口的PVID和将要发送报文的VLAN信息,如果两者相等则剥离VLAN信息,再发送,如果不相等则直接发送
    收报文:
    hybrid端口:
    1、收到一个报文
    2、判断是否有VLAN信息:如果没有则打上端口的PVID,并进行交换转发,如果有则判断该hybrid端口是否允许该VLAN的数据进入:如果可以则转发,否则丢弃
    发报文:
    hybrid端口:
    1、判断该VLAN在本端口的属性(disp interface 即可看到该端口对哪些VLAN是untag, 哪些VLAN是tag)
    2、如果是untag则剥离VLAN信息,再发送,如果是tag则直接发送     
    VLAN 隔离概念:不同端口属于同一VLAN,但是不同端口之间不能互通。  
    还有转贴一篇,用于实际学习     
  • Ethernal 使用

    2009-07-21 20:32:15

     

    转贴学习  :

    Ethereal是免费的网络协议检测程序,支持Unix,Windows。让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等.

    下面介绍windows下面ethereal 的使用方法。
        一、安装
        1、下载安装winpcap

    http://coolersky.com/download/hacker/aidance/2005/0805/87.html
        2、下载安装ethereal
    http://coolersky.com/download/hacker/sniffer/2005/1227/152.html
        说明:新版本ethereal已经整合winpcap,下载ethereal即可完成安装。
        二、使用
        启动ethereal以后,选择菜单Capature->Start,就OK了。当你不想抓的时候,按一下stop, 抓的包就会显示在面板中,并且已经分析好了。
    nterface:指定在哪个接口(网卡)上抓包。一般情况下都是单网卡,所以使用缺省的就可以了。
        Limit each packet:限制每个包的大小,缺省情况不限制。
        Capture packets in promiscuous mode:是否打开混杂模式。如果打开,抓取所有的数据包。一般情况下只需要监听本机收到或者发出的包,因此应该关闭这个选项。
        Filter:过滤器。只抓取满足过滤规则的包(可暂时略过)。
        File:如果需要将抓到的包写到文件中,在这里输入文件名称。
        use ring buffer:是否使用循环缓冲。缺省情况下不使用,即一直抓包。注意,循环缓冲只有在写文件的时候才有效。如果使用了循环缓冲,还需要设置文件的数目,文件多大时回卷。
        其他的项选择缺省的就可以了。
        2、ethereal的抓包过滤器 
        抓包过滤器用来抓取感兴趣的包,用在抓包过程中。抓包过滤器使用的是libcap过滤器语言,在tcpdump的手册中有详细的解释,基本结构是:[not] primitive [and|or [not] primitive ...]
        个人观点:如果你想抓取某些特定的数据包时,可以有以下两种方法,你可以任选一种,个人比较偏好第二种方式:
        (1)在抓包的时候,就先定义好抓包过滤器,这样结果就是只抓到你设定好的那些类型的数据包;
        (2)先不管三七二十一,把本机收到或者发出的包一股脑的抓下来,然后使用下节介绍的显示过滤器,只让Ethereal 显示那些你想要的那些类型的数据包;
        3、etheral的显示过滤器(重点内容) 
        在抓包完成以后,显示过滤器可以用来找到你感兴趣的包,可以根据协议、是否存在某个域、域值、域值之间的比较来查找你感兴趣的包。
        举个例子,如果你只想查看使用tcp协议的包,在ethereal窗口的左下角的Filter中输入tcp, 然后回车,ethereal就会只显示tcp 协议的包。

      4、在ethereal 使用协议插件 
        ethereal 能够支持许多协议,但有些协议需要安装插件以后才能解,比如H.323,以H.323 协议为例:
        (1)首先下载ethereal 的H.323 插件,下载地址http://www.voice2sniff.org/
        (2)下载完了以后将文件(h323.dll) 解压到ethereal 安装目录的plugin\0.9.x 目录下面,比如我的是0.9.11。
        (3)进行一下设置

    a、启动ethereal
    b、菜单Edit->Preference
    c、单击Protocols 前面的"+"号,展开Protocols
    d、找到Q931 ,并单击
    e、确保"Desegment.... TCP segments" 是选中的(即方框被按下去)
    f、单击TCP 
    g、确保"Allow....TCP streams" 是选中的
    h、确保没有选中"Check....TCP checksum" 和"Use....sequence numbers"
    i、单击TPKT
    j、确保"Desegment....TCP segments" 是选中的
    k、点击Save,然后点击Apply ,然后点击OK

        当然你也完全可以不断地重新安装新版本winpcap 和ethreal, 这样就可以不需在旧的ethreal 的版本中安装新的插件来支持新的协议插件,这也是懒人的一种做法。

     

     

    Ethernal

    Display Options 

    update list of packets in realtime 时时更新报文列

    Automatic scrolling in live capture 在抓包的活动状态中自动滚屏

    Hide capture info dialog 信息对话中隐藏头部

     

    name resolution 名字解析(把名字转换成网络地址)

     

     

  • [同事之间]学会和同事相处的30个原则

    2009-06-15 11:36:14

     

    上一篇 / 下一篇  2009-05-10 22:37:43 / 个人分类:经典转载

    1.无论发生什么事情,都要首先想到自己是不是做错了。如果自己没错(那是不可能的),那么就站在对方的角度,体验一下对方的感觉。
        2.让自己去适应环境,因为环境永远不会来适应你。即使这是一个非常非常痛苦的过程。
        3.大方一点。不会大方就学大方一点。如果大方真的会让你很心疼,那就装大方一点。
        4.低调一点,低调一点,再低调一点(要比临时工还要低调,可能在别人眼中你还不如一个干了几年的临时工呢)。
        5.嘴要甜,平常不要吝惜你的喝彩声。 (会夸奖人。好的夸奖,会让人产生愉悦感,但不要过头到令人反感。)
        6.如果你觉得最近一段时间工作顺利的不得了,那你就要加小心了。
        7.有礼貌。打招呼时要看着对方的眼睛。以长辈的称呼和年纪大的人沟通,因为你就是不折不扣小子辈。
        8.少说多做。言多必失,人多的场合少说话。
        9.不要把别人的好,视为理所当然,要知道感恩。
        10.手高眼低。
        11.遵守时间,但不要期望别人也遵守时间。
        12.信首诺言,但不要轻易许诺。更不要把别人对你的承诺一直记在心上并信以为真。
        13.不要向同事借钱,如果借了,那么一定要准时还。
        14.不要借钱给同事,如果不得不借,那么就当送给他好了。
        15.不要推脱责任(即使是别人的责任。偶尔承担一次你会死啊?)。
        16.在一个同事的后面不要说另一个同事的坏话。要坚持在背后说别人好话,别担心这好话传不到当事人耳朵里。 如果有人在你面前说某人坏话时,你要微笑。
        17.避免和同事公开对立(包括公开提出反对意见,激烈的更不可取)。
        18.经常帮助别人,但是不能让被帮的人觉得理所应当。
        19.说实话会让你倒大霉。
        20.对事不对人;或对事无情,对人要有情;或做人第一,做事其次。
        21.经常检查自己是不是又自负了,又骄傲了,又看不起别人了。(即使你有通天之才没有别人的合作和帮助也是白搭)
        22.忍耐是人生的必修课。(要忍耐一生的啊,有的人一辈子到死这门功课也不及格)
        23.新到一个地方,不要急于融入到其中哪个圈子里去。等到了足够的时间,属于你的那个圈子会自动接纳你。
        24.有一颗平常心。没什么大不了的,好事要往坏处想,坏事要往好处想。
        25.尽量不要发生办公室恋情,如果实在避免不了,那就在办公室避免任何形式的身体接触,包括眼神。(如果你或者对方已婚,——恭喜你,兄弟。你,死,定,了!!!)
        26.会拍马屁(这是和顶头上司沟通的重要途径之一),但小心不要弄脏手。切忌用舌头去舔马屁。
        27.资历非常重要。不要和老家伙们耍心眼斗法,否则你回死得很难看的。
        28.好心有时不会有好结果,但不能因此而灰心。
        29.待上以敬,待下以宽。
        30.如果你带领一个团队,在总结工作时要把错误都揽在自己身上,把功劳都记在下属身上。当上司和下属同时在场时要记得及时表扬你的下属。批评人的时候一定要在只有你们两个人的情况下才能进行。
        31.如果你看到一个贴子还值得一看的话,那么你一定要回复,因为你的回复会给人继续前进的勇气,会给人很大的激励。同时也会让人感激你(呵呵,这条是在别的贴子上抄来的,写点东西不容易,大家捧场哈)。
  • 项目经验总结

    2009-06-15 09:53:44

     

    1 需求--从需求规格说明书而来: 根据规格书中的应用场景以及细化的需求,测试人员需要进一步明确系统实现的流程,把握技术问题细化的粒度,以及细节的实现。通常这个时候有部分需求是开发没有明确的,这部分需要标注,后续在合适的时机进一步明确。
    需求分析中,注意挖掘客户的隐性需求和行业规则下的统一标准包含的需求。


    需求的书写:(1)需求来源是客户的需求,没有猜测的成分;

              (2)需求的描述清楚,让看的人没有疑问。

              (3)需求的说明简短,不冗长。

             编写需求的目的,是为测试用例的写作打基础,在写完一部分后,看看是否达到要求。
    这个阶段的杂事比较少,需要深刻认识软件实现,清楚实现流程。同时可以考虑搭建测试环境,对于测试中应用的终端软件和语言进一步学习。看看是否会挖掘潜在的需求。

    2 测试方案是今后测试的计划,综合考虑测试重点和难点,风险分析,以及测试环境如何搭建,同时关注测试的困难,写完这个,自己对后续工作有了清晰的认识。

    3 准备测试用例。结合测试方法和用户应用场景准备。协议的测试采用的是场景测试。对于系统管理这个模块采用的是边界值,和因果图的分析。

    4进行基本功能测试 。在产品开发期进行测试。开发进行的是功能的开发,还没有精力关注界面错误和应用性其它方面。与开发工作重心一致,首先关注产品的功能是否正确运行,同时对于产品的实现需要深入了解。其次,不关注界面简单错误和易用性错误等错误,发现了可以积累,但是暂时不提交。

    5  进行扩展的交互测试 。这个阶段的测试,还可以进行一些扩展。再对基本功能测试后,对于系统的理解也有了深入的变化。

    6  系统稳定后的回归测试。回归测试注意思路的扩展,确保功能完全实现。开发验证回归测试经常出现,按照测试步骤来验证没问题,变通下测试步骤或者其他方法就出现问题。原因是由于修改bug的思路不清楚,任务多导致他们对于功能是否实现也没有信心。在测试这边需要多想想。作为测试人员的职责就是验证,所以开发说功能已经实现了,而个人认识事务总是存在局限性,所以测试人员务必验证清楚。

     

     

322/2<12
Open Toolbar