[Wireshark] 11.5.获取数据包信息

1,070 阅读5分钟

11.5.1.Address

表示一个地址;

11.5.1.1.Address.ip(hostname)

创建一个表示IPv4地址的 Address 对象

  • 参数

    • hostname

      地址值或者IP主机名;

  • 返回值

    • 新建的Address对象;

11.5.1.2.Address.ipv6(hostname)

表示一个地址;

11.5.1.1.Address.ip(hostname)

创建一个表示IPv6地址的 Address 对象

  • 参数

    • hostname

      地址值或者IP主机名;

  • 返回值

    • 新建的Address对象;

11.5.1.3.Address.ether(eth)

创建一个表示以太网地址的 Address 对象;

  • 参数

    • eth

      以太网地址值;

  • 返回值

    • 新建的Address对象;

11.5.1.4.address:__tostring()

  • 返回值

    • 表示地址的字符串;

11.5.1.5. address:__eq()

比较两个地址值;

11.5.1.6. address:__le()

比较两个地址值;

11.5.1.7. address:__lt()

比较两个地址值;

11.5.2. Column

数据包列表(packet list)的某一列;

11.5.2.1. column:__tostring()

  • 返回值

    • 该列的字符串文本 (如果没有,则在括号内);

11.5.2.2. column:clear()

清空该列;

11.5.2.3. column:set(text)

设置该列的文本;

  • 参数

    • text

      要设置至该列的文本;

11.5.2.4. column:append(text)

向该列添加文本;

  • 参数

    • text

      要添加至该列的文本;

11.5.2.5. column:prepend(text)

向该列预设一个文本;

  • 参数

    • text

      要预设至该列的文本;

11.5.2.6. column:fence()

设置一层文本保护,防止被覆盖;

11.5.2.7. column:clear_fence()

去除文本保护;

11.5.3. Columns

packet list 中的众多列 (The Column of the packet list);

11.5.3.1. columns:__tostring()

  • 返回值

    • 字符串“Columns”,除了调试,其他时候没啥实际用途;

11.5.3.2. columns:__newindex(column, text)

设置特定列的文本;

有些列不能被修改,但你尝试修改也不会收到报错(但是没用);

已知允许修改的列是“info”和“protocal”;

  • 参数

    • column

      要设置的列的名字,有效值如下表:

      NameDescription
      numberFrame number
      abs_timeAbsolute timestamp
      utc_timeUTC timestamp
      cls_timeCLS timestamp
      rel_timeRelative timestamp
      dateAbsolute date and time
      date_doyAbsolute year, day of year, and time
      utc_dateUTC date and time
      utc_date_doyUTC year, day of year, and time
      delta_timeDelta time from previous packet
      delta_time_displayedDelta time from previous displayed packet
      srcSource address
      src_resResolved source address
      src_unresNumeric source address
      dl_srcSource data link address
      dl_src_resResolved source data link address
      dl_src_unresNumeric source data link address
      net_srcSource network address
      net_src_resResolved source network address
      net_src_unresNumeric source network address
      dstDestination address
      dst_resResolve destination address
      dst_unresNumeric destination address
      dl_dstDestination data link address
      dl_dst_resResolved destination data link address
      dl_dst_unresNumeric destination data link address
      net_dstDestination network address
      net_dst_resResolved destination network address
      net_dst_unresNumeric destination network address
      src_portSource port
      src_port_resResolved source port
      src_port_unresNumeric source port
      dst_portDestination port
      dst_port_resResolved destination port
      dst_port_unresNumeric destination port
      protocolProtocol name
      infoGeneral packet information
      packet_lenPacket length
      cumulative_bytesCumulative bytes in the capture
      directionPacket direction
      vsanVirtual SAN
      tx_rateTransmit rate
      rssiRSSI value
      dce_callDCE call

11.5.3.3.示例

pinfo.cols['info'] = 'foo bar'
​
 — syntactic sugar (equivalent to above) pinfo.cols.info = 'foo bar'
  • text

    • 该列的文本;

11.5.3.4.columns:__index()

获取特定列;

11.5.4.NSTime

NSTime 表示一个 nstime_t, 这是一个带有秒和纳秒的对象;

11.5.4.1. NSTime.new([seconds], [nseconds])

创建一个 NSTime 对象.

  • 参数

    • seconds (可选)

      秒;

    • nseconds (可选)

      纳秒;

  • 返回值

    新的 NSTime 对象;

11.5.4.2. nstime:__call([seconds], [nseconds])

创建一个 NSTime 对象;

  • 参数

    • seconds(可选)

      秒;

    • nseconds (可选)

      纳秒;

  • 返回值

新的 NSTime 对象;

11.5.4.3. nstime:tonumber()

返回一个表示时间的秒级的NSTime 的 Lua 数字;

  • 返回值

    • Lua 数字;

11.5.4.4. nstime:__tostring()

  • 返回值

    • 表示该 nstime 的一串字符;

11.5.4.5. nstime:__add()

两个 NSTimes 的和;

11.5.4.6. nstime:__sub()

两个 NSTimes 的差;

11.5.4.7. nstime:__unm()

取该 NSTime 的相反数;

11.5.4.8. nstime:__eq()

比较两个 NSTimes

11.5.4.9. nstime:__le()

比较两个 NSTimes

11.5.4.10. nstime:__lt()

比较两个 NSTimes

11.5.4.11. nstime.secs

模式:仅用于检索或赋值(Mode: Retrieve or assign);

NSTime 秒;

11.5.4.12. nstime.nsecs

模式:仅用于检索或赋值(Mode: Retrieve or assign);

NSTime 纳秒;

11.5.5. Pinfo

数据包(Packet)的信息;

11.5.5.1. pinfo.visited

模式:仅用于检索(Mode: Retrieve only);

是否该数据包已经被访问;

11.5.5.2. pinfo.number

模式:仅用于检索(Mode: Retrieve only);

当前文件的数据包数量;

11.5.5.3. pinfo.len

模式:仅用于检索(Mode: Retrieve only);

数据帧的长度;

11.5.5.4. pinfo.caplen

模式:仅用于检索(Mode: Retrieve only);

捕获到的数据帧的长度;

11.5.5.5. pinfo.abs_ts

模式:仅用于检索(Mode: Retrieve only);

该数据包被捕获的时间;

11.5.5.6. pinfo.rel_ts

模式:仅用于检索(Mode: Retrieve only);

该数据包被捕获后至今的秒数;

11.5.5.7. pinfo.delta_ts

模式:仅用于检索(Mode: Retrieve only);

最后一个数据包被捕获后至今的秒数;

11.5.5.8. pinfo.delta_dis_ts

模式:仅用于检索(Mode: Retrieve only);

自上一次展示数据包后至今的秒数;

11.5.5.9. pinfo.curr_proto

模式:仅用于检索(Mode: Retrieve only);

我们目前正在解析的协议;

11.5.5.10. pinfo.can_desegment

模式:仅用于检索与赋值(Mode: Retrieve or assign);

设置该部分 (segment) 是否可以被 (be desegmented);

11.5.5.11. pinfo.desegment_len

模式:仅用于检索与赋值(Mode: Retrieve or assign);

完成PDU(Protocal Data Unit) 所需的额外字节数的估计;

11.5.5.12. pinfo.desegment_offset

模式:仅用于检索与赋值(Mode: Retrieve or assign);

数据报文缓冲 (tvbuff) 中的偏移量,当下次调用时,dissector将从此处开始继续处理;

11.5.5.13. pinfo.fragmented

模式:仅用于检索(Mode: Retrieve only);

该协议是否只有一个片段(fragment);

11.5.5.14. pinfo.in_error_pkt

模式:仅用于检索(Mode: Retrieve only);

我们是否位于一个错误的数据包中;

11.5.5.15. pinfo.match_uint

模式:仅用于检索(Mode: Retrieve only);

匹配 uint 用于从表中调用 subdissector;

11.5.5.16. pinfo.match_string

模式:仅用于检索(Mode: Retrieve only);

匹配 string 用于从表中调用 subdissector

11.5.5.17. pinfo.port_type

模式:仅用于检索与赋值(Mode: Retrieve or assign);

源端口与目的端口的类型;

11.5.5.18. pinfo.src_port

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的源端口;

11.5.5.19. pinfo.dst_port

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的目的端口;

11.5.5.20. pinfo.dl_src

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的数据链路层源地址;

11.5.5.21. pinfo.dl_dst

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的数据链路层目的地址;

11.5.5.22. pinfo.net_src

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的网络层源地址;

11.5.5.23. pinfo.net_dst

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的网络层目的地址;

11.5.5.24. pinfo.src

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的源地址;

11.5.5.25. pinfo.dst

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的目的地址;

11.5.5.26. pinfo.p2p_dir

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包的传输方向:传入/传出(incoming / outgoing);

11.5.5.27. pinfo.match

模式:仅用于检索(Mode: Retrieve only);

我们在匹配的端口或数据;

11.5.5.28. pinfo.columns

模式:仅用于检索(Mode: Retrieve only);

访问数据包列表栏(packet list columns);

11.5.5.29. pinfo.cols

模式:仅用于检索(Mode: Retrieve only);

访问数据包列表栏(packet list columns, 等价于 pinfo.columns).

11.5.5.30. pinfo.private

模式:仅用于检索(Mode: Retrieve only);

访问整个private table;

11.5.5.31. pinfo.hi

模式:仅用于检索与赋值(Mode: Retrieve or assign);

该数据包更高的地址;

11.5.5.32. pinfo.lo

模式:仅用于检索(Mode: Retrieve only);

该数据包更低的地址;

11.5.5.33. pinfo.conversation

模式:仅用于赋值(Mode: Assign only);

将数据包会话设置给指定的 Proto 对象;

11.5.6. PrivateTable

PrivateTable 表示 pinfo —> private_table

11.5.6.1. privatetable:__tostring()

获取关于private table的调试类型信息;

  • 返回值

    • 一个含有该表中所有键的字符串, 通常只在调试时使用;