其他笔记

redis命令

keys (pattern)    #查询所有匹配的key
get (key)    # 查询key对应的字符串类型的value
del (key) [key2 key3 ...]   # 删除key

hget  (key) [field]  #查询key对应数据结构,中某个field的value
hkeys (key=)  # 获取某个key的哈希表的所有key
hvals (key)   # 获取某个key的哈希表的所有value

SADD (key) (member1) [member2]  向集合添加一个或多个成员
SCARD (key) 获取集合的成员数
SMEMBERS (key) 返回集合中的所有成员

 

wireshark

过滤表达式

http 信息包含内容  http contains ""

http请求路径包含create  http.request.uri contains create

http.request  http.request 

1.   关键字

“与”:“eq” 和 “==”等同,可以使用 “and” 表示并且,

“或”:“or”表示或者。

“非”:“!" 和 "not” 都表示取反。

多组条件联合过滤数据包的命令,就是通过每个单个的条件命令与关键字“与或非”的组合实现的。

 

2.   针对ip的过滤

针对wireshark最常用的自然是针对IP地址的过滤。其中有几种情况:

  (1)对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包。

        表达式为:ip.src == 192.168.0.1

  (2)对目的地址为192.168.0.1的包的过滤,即抓取目的地址满足要求的包。

        表达式为:ip.dst == 192.168.0.1

  (3)对源或者目的地址为192.168.0.1的包的过滤,即抓取满足源或者目的地址的ip地址是192.168.0.1的包。

        表达式为:ip.addr == 192.168.0.1,本表达式的等价表达式为

 ip.src == 192.168.0.1or ip.dst == 192.168.0.1

 

  (4)要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可。

 

        表达式为:!(表达式)

 

3.   针对协议的过滤

  (1)仅仅需要捕获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可。

               表达式为:http

               问题:是否区分大小写?答:区分,只能为小写

  (2)需要捕获多种协议的数据包,也只需对协议进行逻辑组合即可。

        表达式为:http or telnet (多种协议加上逻辑符号的组合即可)

  (3)排除某种协议的数据包

        表达式为:not arp   或者   !tcp

 

4.   针对端口的过滤(视传输协议而定)

  (1)捕获某一端口的数据包

        表达式为:tcp.port == 80  (以tcp协议为例)

 

  (2)捕获多端口的数据包,可以使用and来连接,下面是捕获高于某端口的表达式

        表达式为:udp.port >= 2048 (以udp协议为例)

 

5.   针对长度和内容的过滤

  (1)针对长度的过虑(这里的长度指定的是数据段的长度)

        表达式为:udp.length < 30   http.content_length <=20

 

  (2)针对数据包内容的过滤

 

 表达式为:http.request.urimatches "vipscu"  (匹配http请求中含有vipscu字段的请求信息

 

Robotframework

相关属性

    # ${数组名.__len__()}
    FOR    ${i}    IN RANGE    0    ${record_config.__len__()}
        log    ${i}
    END
# copy dictionary  复制字典,这个方法复制的字典引用的是同一个对象
${dict_copy}    copy dictionary    ${dict}

 

 

# Set To Dictionary 修改字典变量
${dict}=    Create Dictionary    a=1    b=2    c=[{key1: val1, key2: val2}, {key1: val3, key2: val4}]
Set To Dictionary    ${dict['c'][0]}    key2=val5

 

# Set List Item 修改数组变量
${dict}=    Create Dictionary    a=1    b=2    c=[1,2,3]
Set List Item    ${dict['c']}    2    4   # 将列表c中的第三个元素修改为4
Log Dictionary    ${dict}

 

导入字符串库

Library           String

 

Evaluate 执行python

 

判断某变量是否为空字符串,${empty}

image.png

 

  

列表插入元素

append to list   [列表]    [元素]

 

获取当前时间

${currentTime} get current date result_format=%Y-%m-%d %H:%M:%S

${time} add time to date ${currentTime} 00:10:30 result_format=%Y-%m-%d %H:%M:%S

注:

1、result_format指定时间格式;

2、关键字add time to date,做时间计算

[result]   add time to date   [原时间]    [时间差]

 

循环

image.png

等同于python的

for i in scalar
    print(i)

 

for in range 循环

image.png

 

for 循环遍历结构体中的列表

image.png

 

 

字符串连接

catenate

image.png

带上SEPARATOR=指 定分隔符,=后面不填就是直接连接没有连接符号

 

 

类型转换

image.png

 

用例执行提示找不到变量

image.png

变量存放在param.py文件里。py文件语法有错误,或者编码有问题都会导致变量文件导入错误。

在首行添加编码解决

image.png

 

posted @ 2023-06-28 15:37  光头小魔王  阅读(43)  评论(0)    收藏  举报