学习啦>学习电脑>操作系统>Linux教程>

tcpdump命令的使用方法(10)

春健分享

  subrulenum num

  与 srnr 含义一致.

  action act

  如果包被记录时PF会执行act指定的动作, 则与此对应的条件表达式为真. 有效的动作有: pass, block.

  (此选项只适用于被OpenBSD中pf程序做过标记的包(nt: pf, packet filter, 可理解为OpenBSD中的防火墙程序))

  ip, ip6, arp, rarp, atalk, aarp, decnet, iso, stp, ipx, netbeui

  与以下表达元含义一致:

  ether proto p

  p是以上协议中的一个.

  lat, moprc, mopdl

  与以下表达元含义一致:

  ether proto p

  p是以上协议中的一个. 必须要注意的是tcpdump目前还不能分析这些协议.

  vlan [vlan_id]

  如果数据包为IEEE802.1Q VLAN 数据包, 则与此对应的条件表达式为真.

  (nt: IEEE802.1Q VLAN, 即IEEE802.1Q 虚拟网络协议, 此协议用于不同网络的之间的互联).

  如果[vlan_id] 被指定, 则只有数据包含有指定的虚拟网络id(vlan_id), 则与此对应的条件表达式为真.

  要注意的是, 对于VLAN数据包, 在表达式中遇到的第一个vlan关键字会改变表达式中接下来关键字所对应数据包中数据的

  开始位置(即解码偏移). 在VLAN网络体系中过滤数据包时, vlan [vlan_id]表达式可以被多次使用. 关键字vlan每出现一次都会增加

  4字节过滤偏移(nt: 过滤偏移, 可理解为上面的解码偏移).

  例如:

  vlan 100 && vlan 200

  表示: 过滤封装在VLAN100中的VLAN200网络上的数据包

  再例如:

  vlan && vlan 300 && ip

  表示: 过滤封装在VLAN300 网络中的IPv4数据包, 而VLAN300网络又被更外层的VLAN封装

  mpls [label_num]

  如果数据包为MPLS数据包, 则与此对应的条件表达式为真.

  (nt: MPLS, Multi-Protocol Label Switch, 多协议标签交换, 一种在开放的通信网上利用标签引导数据传输的技术).

  如果[label_num] 被指定, 则只有数据包含有指定的标签id(label_num), 则与此对应的条件表达式为真.

  要注意的是, 对于内含MPLS信息的IP数据包(即MPLS数据包), 在表达式中遇到的第一个MPLS关键字会改变表达式中接下来关键字所对应数据包中数据的

  开始位置(即解码偏移). 在MPLS网络体系中过滤数据包时, mpls [label_num]表达式可以被多次使用. 关键字mpls每出现一次都会增加

  4字节过滤偏移(nt: 过滤偏移, 可理解为上面的解码偏移).

  例如:

  mpls 100000 && mpls 1024

  表示: 过滤外层标签为100000 而层标签为1024的数据包

  再如:

  mpls && mpls 1024 && host 192.9.200.1

  表示: 过滤发往或来自192.9.200.1的数据包, 该数据包的内层标签为1024, 且拥有一个外层标签.

  pppoed

  如果数据包为PPP-over-Ethernet的服务器探寻数据包(nt: Discovery packet,

  其ethernet type 为0x8863),则与此对应的条件表达式为真.

  (nt: PPP-over-Ethernet, 点对点以太网承载协议, 其点对点的连接建立分为Discovery阶段(地址发现) 和

  PPPoE 会话建立阶段 , discovery 数据包就是第一阶段发出来的包. ethernet type

  是以太帧里的一个字段,用来指明应用于帧数据字段的协议)

  pppoes

  如果数据包为PPP-over-Ethernet会话数据包(nt: ethernet type 为0x8864, PPP-over-Ethernet在上文已有说明, 可搜索

  关键字'PPP-over-Ethernet'找到其描述), 则与此对应的条件表达式为真.

  要注意的是, 对于PPP-over-Ethernet会话数据包, 在表达式中遇到的第一个pppoes关键字会改变表达式中接下来关键字所对应数据包中数据的

  开始位置(即解码偏移).

  例如:

  pppoes && ip

  表示: 过滤嵌入在PPPoE数据包中的ipv4数据包

  tcp, udp, icmp

  与以下表达元含义一致:

  ip proto p or ip6 proto p

  其中p 是以上协议之一(含义分别为: 如果数据包为ipv4或ipv6数据包并且其协议类型为 tcp,udp, 或icmp则与此对

  应的条件表达式为真)

  iso proto protocol

  如果数据包的协议类型为iso-osi协议栈中protocol协议, 则与此对应的条件表达式为真.(nt: [初解]iso-osi 网络模型中每

  层的具体协议与tcp/ip相应层采用的协议不同. iso-osi各层中的具体协议另需补充 )

  protocol 可以是一个数字编号, 或以下名字中之一:

  clnp, esis, or isis.

  (nt: clnp, Connectionless Network Protocol, 这是OSI网络模型中网络层协议 , esis, isis 未知, 需补充)

  clnp, esis, isis

  是以下表达的缩写

  iso proto p

  其中p 是以上协议之一

  l1, l2, iih, lsp, snp, csnp, psnp

  为IS-IS PDU 类型 的缩写.

  (nt: IS-IS PDU, Intermediate system to intermediate system Protocol Data Unit, 中间系统到

  中间系统的协议数据单元. OSI(Open Systems Interconnection)网络由终端系统, 中间系统构成.

  终端系统指路由器, 而终端系统指用户设备. 路由器形成的本地组称之为'区域'(Area)和多个区域组成一个'域'(Domain).

  IS-IS 提供域内或区域内的路由. l1, l2, iih, lsp, snp, csnp, psnp 表示PDU的类型, 具体含义另需补充)

  vpi n

  如果数据包为ATM数据包, 则与此对应的条件表达式为真. 对于Solaris 操作系统上的SunATM设备 ,

  如果数据包为ATM数据包, 并且其虚拟路径标识为n, 则与此对应的条件表达式为真.

  (nt: ATM, Asychronous Transfer Mode, 实际上可理解为由ITU-T(国际电信联盟电信标准化部门)提出的一个与

  TCP/IP中IP层功能等同的一系列协议, 具体协议层次另需补充)

  vci n

  如果数据包为ATM数据包, 则与此对应的条件表达式为真. 对于Solaris 操作系统上的SunATM设备 ,

  如果数据包为ATM数据包, 并且其虚拟通道标识为n, 则与此对应的条件表达式为真.

  (nt: ATM, 在上文已有描述)

  lane

  如果数据包为ATM LANE 数据包, 则与此对应的条件表达式为真. 要注意的是, 如果是模拟以太网的LANE数据包或者

  LANE逻辑单元控制包, 表达式中第一个lane关键字会改变表达式中随后条件的测试. 如果没有

  指定lane关键字, 条件测试将按照数据包中内含LLC(逻辑链路层)的ATM包来进行.

  llc

  如果数据包为ATM数据包, 则与此对应的条件表达式为真. 对于Solaris 操作系统上的SunATM设备 ,

  如果数据包为ATM数据包, 并且内含LLC则与此对应的条件表达式为真

  oamf4s

  如果数据包为ATM数据包, 则与此对应的条件表达式为真. 对于Solaris 操作系统上的SunATM设备 , 如果数据包为ATM数据包

  并且是Segment OAM F4 信元(VPI=0 并且 VCI=3), 则与此对应的条件表达式为真.

  (nt: OAM, Operation Administration and Maintenance, 操作管理和维护,可理解为:ATM网络中用于网络

  管理所产生的ATM信元的分类方式.

  ATM网络中传输单位为信元, 要传输的数据终究会被分割成固定长度(53字节)的信元,

  (初理解: 一条物理线路可被复用, 形成虚拟路径(virtual path). 而一条虚拟路径再次被复用, 形成虚拟信道(virtual channel)).

  通信双方的编址方式为:虚拟路径编号(VPI)/虚拟信道编号(VCI)).

  OAM F4 flow 信元又可分为segment 类和end-to-end 类, 其区别未知, 需补充.)

  oamf4e

  如果数据包为ATM数据包, 则与此对应的条件表达式为真. 对于Solaris 操作系统上的SunATM设备 , 如果数据包为ATM数据包

  并且是 end-to-end OAM F4 信元(VPI=0 并且 VCI=4), 则与此对应的条件表达式为真.

  (nt: OAM 与 end-to-end OAM F4 在上文已有描述, 可搜索'oamf4s'来定位)

892697