附录A 源语法规范

本附录描述了pcap_open和pcap_findalldevs_ex函数所使用的捕获源类型字符串的格式。该字符串用来决定所使用捕获源的类型(文件、远程主机接口还是本地主机接口),并包含了打开捕获源所需的全部信息。

定义

下面是源类型字符串的定义:

下面的字符串指明用户想打开的捕获源是一个本地文件。在remote-ext.h文件第164行定义。


defne PCAP_SRC_FILE_STRING fle://


下面的字符串指明用户想打开的捕获源是一个网络接口,该字符串不需要包含RPCAP协议的使用。如果该接口是在本地主机上,则不使用RPCAP协议。在remote-ext.h文件第177行定义。


defne PCAP_SRC_IF_STRING"rpcap://"


详细描述

pcap_open函数允许使用的格式如下所示:

❑file://path_and_filename(打开一个本地文件)

❑rpcap://devicename(打开本地主机上所选择的一个可用设备,并且不使用RPCAP协议)

❑rpcap://host/devicename(打开一个远程主机上所选择的一个可用设备)

❑rpcap://host:port/devicename(打开一个远程主机上所选择的一个可用设备,使用RPCAP协议但使用一个非标准端口)

❑adaptername(打开一个本地主机适配器,目的是为了兼容性,但建议不使用该方式)

❑(NULL)(打开第一个本地主机适配器,目的是为了兼容性,但建议不使用该方式)

函数pcap_findalldevs_ex允许使用的格式如下所示:

❑file://folder/(列出给定文件目录下的所有文件)

❑rpcap://(列出所有本地适配器)

❑rpcap://host:port/(列出一个远程主机上可用的适配器)

host与port参数,可以为数字,也可为文字。自从IPv6被完全支持后,下列各种格式都是允许的:

❑host:文字的(例如host.foo.bar)

❑host:数字的IPv4(例如10.11.12.13)

❑host:数字的IPv4,IPv6方式(例如10.11.12.13)

❑host:数字的IPv6(例如1:2:3::4)

❑port:既可为数字的(例如80)也可为文字的(例如http)

下面是一些使用实例:

❑rpcap://host.foo.bar/devicename(都是文字的,没端口号)

❑rpcap://host.foo.bar:1234/devicename(都是文字的,带端口号)

❑rpcap://10.11.12.13/devicename(IPv4数字的,没端口号)

❑rpcap://10.11.12.13:1234/devicename(IPv4数字的,带端口号)

❑rpcap://[10.11.12.13]:1234/devicename(IPv4数字的带IPv6格式,带端口号)

❑rpcap://[1:2:3::4]/devicename(IPv6数字的,没端口号)

❑rpcap://[1:2:3::4]:1234/devicename(IPv6数字的,带端口号)

❑rpcap://[1:2:3::4]:http/devicename(IPv6数字的,带文字的端口号)