ipmon [-abDFhnpstvxX] [-N device] [ [o] [NSI]] [-O [NSI]] [-P pidfile] [-S device] [-f device] [filename]
ipmon 命令属于与 Solaris IP 过滤器功能关联的一套命令。请参见 ipfilter(5)。
ipmon 命令可打开 /dev/ipl 进行读取,等待来自包过滤器的要保存数据。从设备读取的二进制数据以用户可读的格式重新输出。但是,不会将 IP 地址映射回主机名,也不会将端口映射回服务名称。输出转至标准输出(缺省设置)或者文件名(如果在命令行上指定了文件名)。如果使用 –s 选项,则会将输出发送至 syslogd(1M)。对于通过 syslog 发送的消息,会从消息中删除日、月、年信息,但是仍包括时间(包括微秒),如日志中所记录的信息。
ipmon 生成的消息由空格分隔的字段组成。所有消息通用的字段包括:
接收包的日期。将消息发送至 syslog 时隐藏此字段。
接收包的时间。其格式为 HH:MM:SS.F,表示小时、分、秒和在一秒中的比例(可以用多位数表示)。
处理包的接口名称,例如 ib1。
规则的组和规则编号,例如 @0:17。可以使用 ipfstat –in(对于输入规则)或 ipfstat –out(对于输出规则)进行查看。请参见 ipfstat(1M)。
操作:p(已通过)、b(已阻塞)、s(短包)、n(不与任何规则匹配)或 L(日志规则)。
地址。这实际上是三个字段:源地址和端口(使用逗号分隔)、符号 → 以及目标地址和端口。例如:209.53.17.22,80 → 198.73.220.17,1722。
PR 后跟协议名称或编号,例如 PR tcp。
len 后跟包的标头长度和总长度,例如 len 20 40。
如果包是 TCP 包,那么会有一个额外字段,以连字符开始,后跟与设置的标志对应的字母。有关字母及其标志的列表,请参见 ipf.conf(4)。
如果包是 ICMP 包,那么末尾会有两个字段,第一个始终为 icmp,后一个为 ICMP 消息和子消息类型,使用斜杠分隔。例如,icmp 3/3 指端口不可访问消息。
支持以下选项:
打开所有设备日志文件读取日志条目。所有条目都显示到相同的输出设备(stderr 或 syslog)。
对于记录包主体的规则,生成表示标头后的包内容的十六进制输出。
导致 ipmon 将自身转变为守护进程。ipmon 将自身转变成孤立进程不需要使用子 shell 或后台处理,因而其可以无限期运行。
指定其他设备/文件来读取常规 IP 过滤器日志记录的日志信息。
刷新当前的包日志缓冲区。显示刷新的字节数,即使结果为零也显示。
显示用法信息。
在可能的情况下,将 IP 地址和端口号映射回主机名和服务名称。
设置从 device 读取或向其输出 NAT 日志记录所要打开的日志文件。
指定实际从哪些日志文件读取数据。N,NAT 日志文件;S,状态日志文件;I,常规 IP 过滤器日志文件。–a 选项等效于使用 –o NSI。
指定不希望从中读取数据的日志文件。此选项最常与 –a 结合使用。可用作参数的字母与用于 –o 的相同。
导致日志消息中的端口号始终输出为编号,并且从不尝试对其进行查找。
将 ipmon 进程的 PD 写入文件。缺省情况下该文件是 /var/run/ipmon.pid。
读取的包信息将通过 syslogd 发送,而不是保存到文件。编译和安装时的缺省工具为 local0。使用以下级别:
使用 log 关键字(而非 pass 或 block)作为操作的已记录的包。
已记录且已通过的包。
已记录且已阻塞的包。
已记录且可视为“短包”的包。
设置从 device 读取或向其输出状态日志记录所要打开的日志文件。
按照 tail(1) 的执行方式读取输入文件/设备。
显示 TCP window、ack 和 sequence 字段
以十六进制显示包数据。
以十六进制显示日志标头记录数据。
/dev/ipl
/dev/ipnat
/dev/ipstate
有关下列属性的说明,请参见 attributes(5):
|
ipf(1M)、ipfstat(1M)、ipnat(1M)、attributes(5)、ipfilter(5)
在 Oracle Solaris 11.2 中管理 IP 服务质量
ipmon 要求读取的数据符合其保存数据时的方式,如果因在记录的数据中检测到异常而未符合某个声明,则 ipmon 会中止。