portaudit-Ports软件安全检测工具

简介:portaudit根据发布的安全数据库,来检测安装的ports是否存在安全漏洞。当把它安装上后,可以自动更新安全数据库,并且在每天的安全检测中输出相应报告。 可以检测安装的ports是否存在安全漏洞.

官方网站:http://people.freebsd.org/~eik/portaudit/

Freebsd上的Ports信息:
Port:   portaudit-0.5.9

Path:   /usr/ports/security/portaudit

Info:   Checks installed ports against a list of security vulnerabilities

Maint:  simon@FreeBSD.org

B-deps:

R-deps:

WWW:    http://people.freebsd.org/~eik/portaudit/

portupgrade和portconf配合升级软件

portupgrade是不带参数的(可能有带参数的办法?我不知道),带参数编译ports我习惯

cd /usr/ports/ports-mgmt/portconfBSD
make install cleanBSD

然后在 /usr/local/etc/ports.conf 加入

databases/mysql50*: WITH_XCHARSET=all | BUILD_OPTIMIZED=yes | WITHOUT_INNODB=yes

这样不管是直接在ports中make或者还是portupgrade都会取这里面的参数

这样管理升级ports就很方便了

如何通过ssh修改ip

Q:有些时候我们需要修改服务器的ip,但服务器又不在本地,只能ssh连接,这个时候怎么办哪?

A:/etc/rc.d/netif restart && /etc/rc.d/routing restart

以下是freebsd下的相关命令:

#关闭网卡
ifconfig network-interface down
#启动网卡
ifconfig network-interface up
#查看尚未启动的网卡
ifconfig -d
#查看已启动网卡
#重启路由
/etc/rc.d/routing restart

NTOP中文手册

ntop
参数s:
[@filename]
[-a|–access-log-file ]
[-b|–disable-decoders]
[-c|–sticky-hosts]
[-e|–max-table-rows]
[-f|–traffic-dump-file file>]
[-g|–track-local-hosts]
[-h|–help]
[-j|–create-other-packets]
[-l|–pcap-log ]
[-m|–local-subnets ]
[-n|–numeric-ip-addresses]
[-o|–no-mac]
[-p|–protocols ]
[-q|–create-suspicious-packets]
[-r|–refresh-time ]
[-s|–no-promiscuous]
[-t|–trace-level ]
[-x ]
[-w|–http-server ]
[-z|–disable-sessions]
[-A|–set-admin-password password]
[-B|–filter-expression expression]
[-C ]
[-D|–domain ]
[-F|–flow-spec ]
[-M|–no-interface-merge]
[-N|–wwn-map]
[-O|—-output-packet-path]
[-P|–db-file-path ]
[-Q|–spool-file-path ]
[-U|–mapper ]
[-V|–version]
[-X ]
[–disable-instantsessionpurge]
[–disable-mutexextrainfo]
[–disable-schedyield]
[–disable-stopcap]
[–fc-only]
[–instance]
[–no-fc]
[–no-invalid-lun]
[–p3p-cp]
[–p3p-uri]
[–skip-version-check]
[–w3c]
[-4|–ipv4]
[-6|–ipv6]
Unix options:
[-d|–daemon] [-i|–interface ] [-u|–user ] [-K|–enable-debug] [-L] [–pcap_setnonblock] [–use-syslog= ] [–webserver-queue ]
Windows option:
[-i|–interface ]
OpenSSL options:
[-W|–https-server ] [–ssl-watchdog]
描述:
========
ntop 能够显示网络的使用情况。它能够显示正在使用网络的主机而且能报告每个主机发送和接收的流量的信息。ntop能作为一个前端数据收集器工作(sFlow and/or netFlow),或者作为一个单独的既能收集又能显示的程序工作。看ntop收集的信息,你需要一个浏览器。
ntop工作在第二层和第三层,默认使用MAC地址和IP地址。ntop能把两者关联起来,这样就能够在网络活动图示里面同时显示ip和非ip流量(例如:arp和rarp)。
命令行选项:
========
@filename 名称为filename的文件内容会被直接插入到命令行中去(回车符和以#开头的注释行会被忽略)。例如:命令行为“-t 3 @d -u ntop”,文件d只包含一行文字”-d”,那么最后的命令行为”-t 3 -d -u ntop”.一个命令中可以使用多个@,但是不允许嵌套使用(在文件中包含@).
注意:大多数的选项是有保持性(sticky)的,就是说它只不过是一个内部标志位.对其调用多次也不能改变ntop的执行。比如:–trace-level选项,它只会执行最后一次设置的值,
–trace-level 2 –trace-level3 将作为–trace-level 3运行。
从3.1版开始,许多命令行选项已经能够在web界面中设置了。这些修改从下次运行开始起作用。
-a –access-log-file 默认情况下ntop不维护对内置www服务的访问日志。这个参数可以设定对这些访问进行日志记录,并且制定日志文件的位置。
日志的每一条类似Apache的样式。不同的地方是ntop多了一列时间(milliseconds为单位)。日志格式大致如下:
192.168.1.1 – – [04/Sep/2003:20:38:55 -0500] – “GET / HTTP/1.1” 200 1489 4
192.168.1.1 – – [04/Sep/2003:20:38:55 -0500] – “GET /index_top.html HTTP/1.1” 200 1854 4
192.168.1.1 – – [04/Sep/2003:20:38:55 -0500] – “GET /index_inner.html HTTP/1.1” 200 1441 7
192.168.1.1 – – [04/Sep/2003:20:38:56 -0500] – “GET /index_left.html HTTP/1.1” 200 1356 4
192.168.1.1 – – [04/Sep/2003:20:38:56 -0500] – “GET /home_.html HTTP/1.1” 200 154/617 9
192.168.1.1 – – [04/Sep/2003:20:38:56 -0500] – “GET /home.html HTTP/1.1” 200 1100/3195 10
192.168.1.1 – – [04/Sep/2003:20:38:56 -0500] – “GET /About.html HTTP/1.1” 200 2010 10
这个参数是访问日志文件的完整名称。前一版中被错误的称为 –access-log-path。
-b –disable-decoders 这个参数关闭协议解码器。
协议解码器检查收集第二层和第三层的协议信息,例如:第二层的NetBIOS和Netware SAP协议,第三层的DNS,http和ftp协议。
这项功能是为了每个协议准备的,不同于下面用于处理原始信息(此参数以数据包或字节的数目为对象)的-p | –protocols 参数。
解码是非常消耗系统资源的。如果你的运行ntop的计算机性能有限,或者你正在监视流量非常大的网络,你可能希望关闭协议解码器。如果ntop在处理你的网络上的某些协议有问题的时候你也可能会关闭它。
-c –sticky-hosts 使用这个参数可以使得空闲主机不被从内存中清除。
默认情况下空闲主机被定期的从内存中清除。一台主机如果在指定的时间中没有数据包出入,就被判定为空闲主机,这个时间在defines.h文件中有PARM_HOST_PURGE_MINIMUM_IDLE定义。
如果你使用这个参数,所有的主机--活动的和空闲的,在ntop运行期间都会被保留在内存中。
P2P用户,端口扫描器,受欢迎的网站和其它的活动都会让ntop记录大量关于主机的数据。在一个活跃的网络中,这将会消耗大量的并且是不断增长的内存。如果使用–stick-hosts参数,那么强烈建议使用过滤规则限制被记录的主机数。
对空闲主机的清除是一项统计性的工作--每个周期随机的选择一批符合条件的主机进行清除。因此在一个忙碌的系统中,空闲主机保留在ntop的状态里面中并在较长一段时间保持‘Activie’状态是可能的。
-d –daemon 这个参数将水使得ntop作为一个守护进程运行,即ntop将在后台运行而不与任何特定的终端连接。如果不是随随便便的使用ntop作为一个工具,那么你可能会使用这个参数的。
警告:如果你让ntop以守护进程运行,那么ntop的输出信息会被显示在“标准输出”(stdout)上然后就丢失了。你可能不想得到这种结果。那么请同事使用-L或者–use-syslog参数把ntop的输出信息保存到系统日志里面去。
-e   –max-table-rows 这个参数定义了将在生成的HTML格式报告中显示的最大行数。如果超过这个最大值,那么在页面底部会有指示“上一页/下一页”的箭头。
-f –traffic-dump-file 默认情况下,ntop捕捉网卡中或者从netFlow/sFlow的探针中捕捉网络流量。然而ntop也能够从文件中读取数据-典型的情况是tcpdump保存的文件,或者是ntop自己的某些包捕获选项产生的文件。
如果使用了-f选项,ntop在读取文件时、读取文件后都不会从网卡捕捉数据包。netFlow/sFlow的数据包捕捉仍然继续保持活动。
这个选项使用的最多的情况是用来进行debug。
-g   –track-local-hosts 默认情况下ntop处理所有从不同的网卡上捕捉到的数据包。这个参数告诉ntop只是捕捉本地主机相关的数据。本地主机指的是那些“基于本地网卡地址”的数据包,还有
使用-m|–local-subnet 参数指定的网络。
这个参数对于大型网络或边界路由器、网关是非常有用的,因为在这些环境中,远端主机不需要被跟踪。
-h –help 显示ntop的帮助信息。
-i –interface 指定ntop监控的网络接口(译者注:一般说来就是网卡)。
如果指定监控多个网络接口(这个特性只有当ntop在编译时指定了指定逗号隔开。例如:-i “eth0,lo”。
如果没有指定接口,默认情况下是监控第一个以太网设备,一般情况下是eth0。“第一个设备”的确定是根据系统的不同而不同的。特别是在一些系统中,设备的名字反映的是驱动的名字,而不是接口的类型。
默认情况下,所有接口的流量信息被合并到一起,就好像这些流量都被一个接口处理一样。使用-M参数可以让各个接口的流量被分别处理。
如果你不想让ntop处理任何的流量,请使用-i none。
在windows中,参数的值不是接口的编号就是它的名字,比如:
{6252C14C-44C9-49D9-BF59-B2DC18C7B811}。运行ntop -h 可以看到“接口”和“名称编号的”映射表(在帮助信息的末尾)。
-j –create-other-packets 这个参数让ntop为网络中的“other”流量创建一个导出文件。ntop会为每个网络接口创建一个文件,位置在/ntop-other- pkts..pcap,由-O|–output-packet-path参数指定。这个文件对于了解那些未分类的流量是有用的。
-l   –pcap-log 这个参数会让ntop为捕获的流量创建一个tcpdump格式的导出文件。这个文件对于debug是有用的,而且可以被ntop重新读取,需要使用 -f| –traffic-dump-file 参数。导出的是通过过滤规则处理的数据(被过滤掉的数据不会被导出)。
导出文件会被命名为/..pcap (Windows: /.pcap ), 这里被-O|–output-packet-path参数定义,被-l | –pcap-log 定义。
-m –local-subnets ntop 为本地系统的每个活动接口检测ip地址和掩码。在这些网络上的流量都被认为是local子网流量。这个参数允许用户定义其它的网络和子网的流量为 local子网流量。除此之外,其它的主机被认为是远程主机。多个网络需要被逗号分隔。子网格式和CIDR格式都可以使用,甚至混合在一起使用。例 如:”131.114.21.0/24,10.0.0.0/255.0.0.0″。
本地子网(被接口地址决定)总是作为local子网并且不需要被指定。如果你在指定此项参数时指定了和本地网卡一样的网段,ntop会给出一个警告信息,但对正常运行没有影响。
-n –numeric-ip-addresses 默认情况下,ntop使用DNS查询和被动的嗅探来对ip地址进行解析。当ntop收到服务器发回给其它用户的DNS响应时,会把其中的DNS相应信息放到自己的DNS缓冲中。这样ntop可以显著的减少对DNS的请求数量。
这个参数使得ntop跳过DNS解析,直接显示出ip地址,而不是主机名字。这个选项当DNS不存在或者非常慢的时候非常有用。
-o –no-mac ntop 位于网络协议第二层和第三层。也就是说ntop使用物理的设备地址(比如:MAC地址)和逻辑的tcp/ip地址(熟悉的比如:www.ntop.org 或者131.114.21.9)。这允许ntop把多个逻辑地址和物理地址联系起来(比如:存在虚拟主机,一个接口被设置了多个地址,等等)给出一个统一的报告。
这个参数指定ntop不要使用MAC地址,而是使用ip地址。
正常情况下,MAC地址是全球唯一的,ntop工作在两层的性质使得它能够比单纯的第二层或者第三层监控器提供更好的关于网络的信息。
在某些特定的环境下-ntop启动的接口上,MAC地址不能被信任,你会用到这个参数。
这些情况包括port/VLAN镜像,spanning tree协议,(据报到)一些特定的以太网交换机会重写它们处理的数据包的MAC地址。正常情况下,当你发现一些主机改变它们的地址或者信息时,这个参数会非常有用。
注意,对这个参数来说,依靠MAC地址(非tcp/ip协议,如IPX)的信息不会被收集和显示。
-p –protocols 这个参数用于声明ntop监控的使用TCP/UDP作为传输层的协议。格式为:= [, =], 其中label被用于标识(协议列表)。的格式为: [ |],在这里不是
在/etc/services中指定的协议,就是一个端口号范围(例如:80,6000-6500)。
一个简单的例子是 –protocols=”HTTP=http|www|https|3128,FTP=ftp|ftp-data”,这把ntop输出中在”IP”项的显示减少为三列:
Host                      Domain Data          HTTP   FTP   Other IP
ns2.attbi.com              954 63.9 %      0     0        954
64.124.83.112.akamai.com  240 16.1 %    240     0          0
64.124.83.99.akamai.com    240 16.1 %    240     0          0
toolbarqueries.google.com    60 4.0 %      60     0          0
如果是非常长的,你可以把它保存在一个文件中(例如:protocols.list)。这样,在命令行中使用文件名来代替.例
如:ntop -p protocol.list
如果-p参数被忽略,那么,下面的值是默认的:
FTP=ftp|ftp-data
HTTP=http|www|https|3128     3128 is Squid, the HTTP cache
DNS=name|domain
Telnet=telnet|login
NBios-IP=netbios-ns|netbios-dgm|netbios-ssn
Mail=pop-2|pop-3|pop3|kpop|smtp|imap|imap2
DHCP-BOOTP=67-68
SNMP=snmp|snmp-trap
NNTP=nntp
NFS=mount|pcnfs|bwnfs|nfsd|nfsd-status
X11=6000-6010
SSH=22
Peer-to-Peer Protocols
———————-
Gnutella=6346|6347|6348
Kazaa=1214
WinMX=6699|7730
DirectConnect=0      Dummy port as this is a pure P2P protocol
eDonkey=4661-4665
Instant Messenger
—————–
Messenger=1863|5000|5001|5190-5193
注意:使用中需要把协议名解析为端口号.这些协议名和端口号对应关系需要在系统文件中被指定,一般情况下指的是/etc/services文件。
你需要让你的协议名准确的符合其中的协议名称。丢失或者没有声明的协议(即非标准协议)需要用数字指定,比如:在上面例子中的
3128。
如果你看见一个文件/etc/protocols,注意,那是以太网用的,不是你要找的那个services文件。
-q –create-suspicious-packets 这个参数告诉ntop为“可疑数据包”创建一个导出文件。
有很多很多中情况导致“可疑数据包”的产生,包括:
Detected ICMP fragment
Detected Land Attack against host
Detected overlapping/tiny packet fragment
Detected traffic on a diagnostic port
Host performed ACK/FIN/NULL scan
Host rejected TCP session
HTTP/FTP/SMTP/SSH detected at wrong port
Malformed TCP/UDP/ICMP packet (packet too short)
Packet # %u too long
Received a ICMP protocol Unreachable from host
Sent ICMP Administratively Prohibited packet to host
Smurf packet detected for host
TCP connection with no data exchanged
TCP session reset without completing 3-way handshake
Two MAC addresses found for the same IP address
UDP data to a closed port
Unknown protocol (no HTTP/FTP/SMTP/SSH) detected (on port 80/21/25/22)
Unusual ICMP options
翻译上边提到的攻击,不准确的地方请自行对照理解:
—————————–
探测到ICMP碎片
探测到针对主机Land攻击
探测到重叠的/微小的数据包碎片
探测到诊断端口的流量
执行ACK/FIN/NULL扫描的主机
主机被拒绝的TCP会话
在错误的端口上探测到HTTP/FTP/SMTP/SSH服务
畸形的TCP/UDP/ICMP数据包(数据包太短)
数据包过长
收到来自主机的ICMP Unreachable响应
发出给主机的ICMP管理性的禁止的数据包(此条翻译可能不准确,请参照上面的原文)
针对主机的smurf攻击数据包
没有数据交换的TCP连接
没有完成三次握手的TCP会话被reset
两个MAC地址被发现使用同一个IP地址
UDP数据被发往一个关闭的端口
在(80/21/25/22)发现运行不明协议 (非 HTTP/FTP/SMTP/SSH)
不正常的ICMP选项
当这个参数被使用后,会为每个接口的“可疑数据包”创建一个文件。这个文件使用的是tcpdump(pcap)格式,并且被命名为/ntop-suspicious-pkts..pcap,在这里被-O|–output-packet-path参数定义。
-r –refresh-time 指定HTML页面的刷新时间(以秒为单位)。这个参数允许你让浏览器窗口保持打开并且基本保持实时更新。
默认情况下更新时间是3秒。请注意,如果更新时间太短,比如1秒,ntop可能不能处理所有的网络流浪。
-s –no-promiscuous 使用这个参数会阻止网络接口处于混杂模式。
处于混杂模式的接口接收处理所有的以太网数据帧,不管是不是发给自己的。这是ntop监视网络的一个基本要求。(没有混杂模式ntop只能监控发给自己的数据包和arp、dhcp等广播包)。
即使你使用了这个参数,如果其它程序也可以开启混杂模式。
ntop把这个设置传递给libpcap。在许多系统上,网络接口不能处于非混杂模式,因为libpcap需要捕捉原始的数据包(ntop也需要捕捉原始数据包以便于我们查看和分析第二层-MAC层的信息)。
因而在大多数系统中,ntop必须使用root启动,这个参数很大程度上是装饰性的。如果启用-s失败了,你会看到一个指向 pcap_open_live()的***FATALERROR***错误信息,还有一个消息会出现“sorry,在这个系统上,ntop 的-s参数似乎需要使用root启动”。
-t –trace-level 这个参数指定ntop显示信息(在stdout中输出,或者输出到log中)的级别。级别越高,显示的信息越多。级别共分5级,0(不显示)–5(完全debug模式)。
默认是级别3。level0并不是不输出任何信息。致命的错误和某些启动、关闭的信息还是会输出的。level1仅用于显示错误信息 (error),level2用于显示error和warning(错误和警报),level3显示error、warning、和信息提示。
level4被称为“噪音级别”,它生成关于ntop内部的许多许多信息。level5及以上级别可以称为“噪音级别”+额外日志,就是所有可能输出的信息还有一个每条信息都带有行号的文件。
-u   –user 指定ntop运行的用户身份。
ntop正常情况下必须以root身份启动,这样它才有足够的权限设置网络接口使用混杂模式,并接收原始的数据帧。如果你想使用非root用户启动ntop,请上面参见-s|–no-promiscuous参数的说明。
启动后,ntop会以你在这里指定的身份运行,正常情况下只有很少的权限,比如:没有登录shell。就是一个只拥有ntop的数据库和输出文件的userid。
参数值可以是一个用户名字或者用户id,其组id将是用户的首要组(primary group)。
如果参数没有指定,ntop将在放弃前尝试“nobody”和“anonymous”用户。
注意:不要使用root的身份运行,除非你明白将要面临的安全风险。为了避免这样带来的偶然风险,唯一的办法是你必须明确的指定-u root。千万不要这样做!!!
-x -X ntop为每个新的主机/TCP会话创建一个新的hash/list条目。如果碰上Dos攻击,会很容易的把主机的内存消耗光,因为ntop为每个主机创建一个条目。为了避免这种情况发生,你可以设置ntop能使用的内存的上限。
-w –http-server ntop内置有一个web服务发布收集的信息。外部的HTTP服务不需要也不被支持(译者:似乎现在可以了)。这个参数指定内置web服务监听的端口(可选的还有地址,即网络接口)。
例如:使用-w 3000ntop,那么访问地址为
http://hostname:3000
。如果使用 -w 192.168.1.1:3000,那么ntop仅仅监听指定的”地址+端口”。
如果-w 被设置为0,web服务将不监听任何端口来的连接。
-W参数相似,只是形式为
https://hostname
,注意是https。
例子:
ntop -w 3000 -W 0 (默认设置)HTTP工作在3000,HTTPS不工作。
ntop -w 80 -W 443    HTTP 、HTTPS均工作在最标准的端口上。
ntop -w 0 -W 443 HTTP关闭,HTTPS在标准端口上启用。
某些敏感的配置页面被口令保护起来了。默认情况下,这些页面有用户/URL管理,过滤规则,关闭和重启被保护。第一次运行只有admin设置口令可以访问。
用户能够修改/添加/删除用户/URLs-请参见Admin 页面。
口令,用户id和URLs被存储在数据库文件里。为进一步提高安全性,口令以加密形式保存。
在ntop的docs/FAQ中有关于进一步提升ntop环境安全的讨论。
-z –disable-session 这个参数关闭了TCP会话追踪。当你并不关心跟踪这些会话的时候,这可以使你获得更好的性能。
-A –set-admin-password 这个参数用来启动ntop时设置管理口令并退出。当管理人员在安装后需要自动设置ntop的口令时非常有用。
-A and –set-admin-password (不指定值)将会提示用户输入口令。
你可以使用–set-admin-password=yourPassword指定一个口令。“=”是必需的&“不能有空格”。
如果你想把ntop作为守护进程运行而不设定口令,会出现“致命错误”(FATAL ERROR)提示,ntop会
停止!
-B –filter-expression 过滤器可以让用户在任何能想到的条目上对ntop接收到的流量进行限制。在ntop启动时用这个参数指定过滤规则,但是这也可以在运行期间在 Admin|Change Filter页面改变。
基本格式是-B filter,where the quotes are REQUIRED。
过滤器语法和tcpdump一样,使用BPF(Berkeley Packet Filter)表达式。
例如,假设你只对jake.unipi.it的发送/接受流量感兴趣。ntop可以使用下面的过滤规则启动:
ntop -B src host jake.unipi.it or dst host jake.unipi.it
或者:
ntop -B host jake.unipi.it or host jake.unipi.it
更详细信息请参考tcpdump的手册中的“expression”一节,通常情况下在
http://www.tcpdump.org/tcpdump_man.html
可以得到。
(以上为2008.04.19日补充。)
-C 这个参数用来控制ntop工作在两种模式:主机模式和网络模式。在主机模式下(默认)ntop接收那些“真正”的主机的IP地址。接收的那些数据包的ip地址是属于同一C类地址段的。(原文看不太懂,更准确的请参考原文。)
当主机处于Internet中进行流量交换时,network模式极其有用,而当主机安装在网络边缘时,host模式就应该被使用了(比如:在公司中)。网络模式极大的减少了ntop需要处理的工作量,它被用在对网络流量的观察中,不被用来针对特定的主机。
-D –domain 这用来区分本地域的后缀,比如:ntop.org。如果ntop从接口上不好判断出域名时这个参数很有用。
-F –flow-spec 这个参数用来指定数据流,类似于更强大的程序NeTraMet。数据流就是符合一定规则的数据包的集合。格式为:=”[,=”],在这里label被 用于标志一个被规则指定的数据流.这个规则是符合bpf(Berkeley Packet Filter) 的规则.如果表达式被指定了,那么与流相关的信息都能被HTML访问.
例如:我们指定了两个数据流,表达式为LucaHosts=’host jake.unipi.it or host pisanino.unipi.it’,GatewayRoutedPkts=’gateway gateway.unipi.it’。所有的jake.unipi.it 和pisanino.unipi.it接收/发送的数据都被ntop收集并被计入LucaHosts数据流,被gateway.unipi.it路由的数 据包就被计入了GatewayRoutedPkts 数据流。如果流的列表特别长的话,可以把它们放到一个文件中,然后用-F参数载入即可,例如:文件为flows.list,那么命令为:ntop -F flow.list。
注意:在流表达式的两边的引号是需要的。(原文:Note that the double quotations around the entire flow expression are required. )
(注:以上为2008.4.20补充。)
-K   –enable-debug 这个参数简化了应用程序的debug。它做了三件事:1.在“read only”页面没有进行fork()操作;2.在配置页面(info.html)上显示互斥信号量的值。3.(如果存在-glibc/gcc)激活应用程序错误信息的自动追踪。
-L   –use-syslog=facility 这个参数指定把日志消息发送到系统日志而不是标准输出。
-L 和简化形式 –use-syslog使用默认的日志工具,这个被定义为LOG_DAEMON的工具在“globals-define.h”中用#DEFAULT_SYSLOG_FACILITY定义。
复杂形式–use-syslog=facility将把日志工具设置为你指定的任何值(比如:local3,security)。“=”是必须的而且不能有空格!!!
这个设置用于ntop和任何被fork()ed的子进程。如果这个参数没有被指定,子进程将使用默认的值,将把信息写入系统日志(因为子进程必须放弃对父进程标准输出的访问。)
因为不同的系统中没有可用的名字,我们在globals-core.c的末尾有一个列表。请查找myFacilityName。
(注:以上为2008.4.21补充。)
-M –no-interface-merge 默认情况下,ntop把从它监视的各个网络接口上收集到的数据合并成一个集合来进行处理。
如果你的网络比较简单,比如只是一个接入互联网的LAN,把数据合并到一起能给你更好的关于整个网络的描绘。但是,对于更大、更复杂的网络,“合并”可能就是不需要的了。你可能还会有其它的理由去单独的监视每个网络接口,比如:有DMZ区域。
这个参数指示ntop别把各个网络接口的数据合并到一起。这意味着ntop会单独收集统计、报告每个接口的数据。
这样每次只有一个接口的情况会被报告-在Admin|switch NIC 页面来选择报告哪个端口。
注意:激活netFlow and/orsFlow插件将会强制设置-M参数。一旦被设置就不能撤消!
-N –wwwn-map 这个参数命名把WWN(全球名称,存储技术相关概念)提供给FCID/VSAN ids的文件 (FCID似乎应该翻译成光纤通道id、VSAN=Virtual SAN)。
-O –output-packet-path 这个参数定义了ntop-suspicious-pkts.XXX.pcap和正常的数据包导出文件的存放路径。
如果这个参数不被指定,默认值是config.h中的CFG_DBFILE_DIR,这个常量在运行./configure 期间
由–localstatedir=PARAMETER指定。如果–localstatedir没有被指定,默认是–prefix的值加上/var(例如:/usr/local/var)。
当你让ntop以守护进程或者windows服务的形态运行时,这个默认生成的路径可能并不是你想要的。因此如果你使用这个参数,强烈建议设置一个明确的绝对路径值。
-P –db-file-path
-Q –spool-file-path
这两个参数用来指定ntop在哪里存储数据库文件。
这里有两种类型的,一种是“temporary”--这种数据库文件每次ntop运行都不会对其保留,还有一种是“permanent”--这种数据库文件必须被保留。
“permanent”数据库指的是:参数选择库--prefsCache.db,口令库--ntop_pw.db。这写数据库文件保存在 -P|–db-file-path指定的路径里面。某些插件使用-P|–db-file-path指定的路径保存它们的数据库 (“LsWatch.db”)或者某些文件(…/rrd/…)的默认值。
“temporary”数据库包括地址队列--”addressQueue.db”,DNS解析文件--”dnsCache.db”,MAC前缀文件--”macPrefix.db”。
如果只有-P| –db-file-path被指定,它会被两种类型的数据库使用。
这些目录必须给ntop用户“读/写”和“创建文件”的权限。为了安全起见,其它任何用户甚至都不应该有读取这些文件的权限。
注意,默认的值是config.h中的CFG_DBFILE_DIR参数。这在运行命令./configure的时候
由–localstatedir=yourParameter来指定。如果–localstatedir没有被指定,默认值是–prefix 的值加上/var(例如:/usr/local/var)。
当ntop以守护进程或者windows服务形式运行时,默认的值很可能不是你期望的。
注意,在ntop2.3版本前,这个参数默认是“.”(指的是当前工作目录,即pwd返回的值),这会引起灾难性后果,因为当ntop从“命令行执行”或者通过“cron运行”或者从“初始化的脚本运行”时,当前目录是不同的。
因此强烈建议:明确的设置绝对路径!
-U –mapper   指定工具mapper.pl的URL。
如果被指定,ntop在“Info about host xxxxxx”页面上创建一个可以点击的后面附加”?host=xxxxx”的超链
接指向这个URL。可以进行任何类型的主机查询,但是这个功能的目的是用来查询主机的物理位置。
有一个基于cgi的映射接口(在
http://www.multimap.com
上)是ntop发布的一部分〔请看www/Perl/mapper.pl〕。
-V –version 显示ntop的版本信息然后退出。
-W –https-server (参见上面-w参数的部分)
–disable-instantsessionpurge ntop把完成的会话设置为“timed out”,会立即把它们从内存中清除出去,鉴于对超时清除的不同看法,这可能并不是你想要的结果。这个参数会让ntop重新对待已完成会话的超时问题。这 不是默认值,因为一个忙碌的web服务器会有100/1000个完成的会话存在,而且这回显著的增加ntop使用的内存量。
–disable-mutexextrainfo ntop存储它所使用的受到保护的信号量的锁定和解锁信息。因为ntop提供细致的锁定功能,这个信息经常的更新。在一些操作系统中,收集这些信息所使 用的系统调用(getpid)()和gettimeofday())所付出的代价比较昂贵。这个参数关闭了这些额外的信息。这不会对ntop的运行产生影 响。然而ntop会发生死锁的,我们就失去了一些告诉我们原因的信息。
–disable-schedyield ntop使用sched_yield()调用来获得更好的交互性能。在一些情况下,主要是在RedHat Linux8.0,这会发生死锁,虽然ntop看起来对ps命令仍然能够进行交互,但是ntop web服务已经停止响应。如果你看到死锁了,可以使用这个参数关闭这些调用。
–disable-stopcap 让ntop在发生内存错误时做出老版本的响应。如果stopcap参数被开启,当发生内存错误时,web页面仍然可用,直到ntop被关闭。虽然只是有静态页面。
–fc-only 只显示光纤通道的统计信息。
–instance
你可以通过指定不同的-P参数值来同时运行多个ntop的实例(典型的做法是通过分开的ntop.conf文件)。如果你设置了这个参数的值(只能在命令行上指定),你就可以:(1)在每个web页面上显示实例的名字;(2)把日志的前缀从“NTOP”改成你选择的值。
如果你想要把标签做的更显眼一点,创建一个.instance 类在style.css中,例如:
.instance {
color: #666666;
font-size: 18pt;
}
注意(UNIX):想要运行ntop完全不同的版本,你需要编译、安装不同的库(使用./configure –prefix),并且在在调用之前指定LD_LIBRARY_PATH,例如:
LD_LIBRARY_PATH=/devel/lib/ntop/:… /devel/bin/ntop …args…
如果存在的话,一个类似-ntop-logo.gif的文件将会取代正常的ntop_logo.gif。这只在运行开始时尝试一次。The EXACT word(s) of the –instance flag are used, without testing if they make a proper file name。不论为什么,如果这个文件没有被发现,一个小心将被写入日志,然后将会使用正常的logo。请做好自己的logo,300×40、透明的gif 文件。
注意:在web页面上,ntop使用dladdr()函数。原来的Solaris routine有一个bug,在FreeBSD中也存在(还有其它可能的系统),这个bug就是:使用ARGV的值却没有使用实际的文件名-这个ARGV 可能是错误的。如果”running from”的值是错误的,但是”libaries in “的值是正确的,那么使用libarary。
–no-fc
禁用“处理和显示”光纤通道
–no-invalid-lun
不显示无效的LUN信息。(存储技术概念:LUN的全称是logical unit number,也就是逻辑单元号)。
–p3p-cp –p3p-uri
P3P是一个W3C建议-http://www.w3.org/TR/P3P-用于指定站点收集个人信息和用这些信息做什么。这些参数允许返回P3P信息。我们没有提供实例。
–pcap_setnonblock 在一些平台上,ntopweb服务器会被挂起或者看起来是被挂起的(实际仅仅是响应的极慢),然而ntop的其它部分运行的还很好。这是一个已经在freeBSD4.x上被发现的问题。
这个参数设置non-blocking选项(假定它在被安装的libpcap上可用)。
然而这样运行还会有问题的(把一个中断驱动过程变成了一个轮询过程),这也可能显著提高ntop对CPU的使用率。虽然实际上并没有干扰其它的工作,如果你常常看到ntop使用了CPU的80-90%甚至更高,别说我们没有警告你。
这个参数不再被官方支持,你要自行承担使用的风险。请看详细阅读的docs/FAQ。
–skip-version-check 默认情况下,ntop将周期性的访问一个远程文件来检查是否有最新的版本正在运行。这个参数关闭这项检查。请阅读此页底部的隐私声明以便获得更多的信息。 默认情况下,检查间隔比15天稍长。这可以在globals-defines.h中被重新指定。如果检查结果标明ntop的是一个‘new evelpment’版本(比最新发布的开发版还要新),就不会再次进行检查。因为它的代码已经被修复增强。
注意:目前检查功能在windows下不工作。
–ssl-watchdog
对web服务器的挂起启用watchdog。这通常在与老版本的浏览器进行连接时发生。用户什么也看不到,其它用户不能连接。在内部,数据包处理还在继 续,但是没有办法访问web服务或者干净的关闭ntop。使用watchdog,超时限制为3秒,一边记录日志一边还在处理数据。不幸的是,用户什么也看 不到–这看起来仅仅是象一个失败的连接。(运行 ./configure时也能使用这个参数,–enable-sslwatchdog。)
–w3c 默认情况下,ntop生成可以显示的但并不多的html。许多的页面并没有生成,因为这对老的浏览器来说会出现问题,这些页面对实际使用的浏览器来说看 起来更漂亮。随着时间的推移,我们愿意让ntop具有更好兼容性,但是这也不可能是100%的。如果你发现问题,请报告ntop-dev。
-4   –ipv4 使用IPv4连接。
-6   –ipv6 使用IPv6连接。
web视图
当ntop运行时,多个用户可以使用浏览器同时访问流量信息。虽然它也使用frame、很少的表格嵌套、也使用了一些JavaScript和CSS样式 表,但是ntop不会生成那些“奇异”或者“复杂”的html页面,从.1release版开始,菜单通过JSCookMenu的帮助,实现了下拉菜单。 在3.2release版,扩展了“插件功能”。
我们也不希望在浏览器上出现任何的问题,但是我们只能有限的测试少数几种浏览器。测试包括了firefox、IE、还在Opera之类的浏览器上进行了很少的测试。
在文档中、这个帮助文件中,当我们提到页面,例如:Admin | Switch NIC,我们指的是Admin->Switch NIC。
注意:
ntop需要一些外部的工具软件和库来运转。某些工具是可选的,但是它们能增加ntop的功能。
–webserver-queue 指定了 web 服务能接收的、在tcp/ip协议栈中保留的最大请求数目,这些请求被ntop排成一个队列。超出队列数目的请求会被丢弃(允许重传),或者在tcp /ip协议的层次就被拒绝,这要看具体的操作系统而定。无论发生什么情况,如果发生在操作系统层次,不会有任何的信息传送给ntop。
需要的库包括:

libpcap
http://www.tcpdump.org
可以得到,请使用0.7.2版或者更新的版本,强烈推荐1.8.3版或者更新版本。 Windows版本使用WinPcap(libpcap的windows版本),它可以在
http://winpcap.polito.it/install/default.htm
页面下载。
警告:WinPcap的2.xrelease版不支持SMP。
gdbm
http://www.gnu.org/software/gdbm/gdbm.html
下载。
ntop需要POSIX的线程库。从ntop3.2版开始,不再提供单线程版本的ntop。
gd2.x,用于创建png文件,可以从
http://www.boutell.com/gd/
下载。
libpng 1.2.x 用于创建png文件,可以从
http://www.libpng.org/pub/png/libpng.html
下载。
ntop应该是支持gd1.x和libpng1.0.x的,但是没有经过测试。如果你编译的时候使用了这些版本库,但是运行时使用了其它版本的库,请注
意兼容性。请在提交任何有关问题前,参考FAQ。
OpenSSL 如果需要使用https的话,请从
http://www.openssl.org
下载。
rrdtool rrd 插件需要用这个库。rrdtool创建‘Roud-Robin数据库’,这个数据库被用于存储和画出历史数据的图像,以便能长期保存数据而不会在长期运行后变得很大。可以在
http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/
下载。
在myrrd/目录中ntop包含了rrdtool的1.0.49受限版。使用3.2版以上的ntop不需要在特别安装rrdtool。
InMon公司允许使用sflow插件并提供支持,主页:
http://www.inmon.com/sflowTools.htm
.。
还有一些其它的可选库。请参见 ./configure的输出列表。
这些连接是2005年8月的--请发送邮件告诉我们新的“链接位置”和“死链”。
其它参考:
top(1), tcpdump(8). pcap(3).
隐私声明:(略)
用户支持:
请把bug报告发送到
ntop-dev@ntop.org
邮件列表。
ntop@ntop.org
邮件列表被用来提供关于ntop使用的讨论。为了避免垃圾邮件,当你需要
在在列表中提问的时候,需要先订阅。除非是个人问题请不要和作者直接联系。
我们也提供商业支持。请在ntop的网站上查看进一步信息。
请把代码补丁发送到
patch@ntop.org

作者:
ntop的作者是Luca Deri (
http://luca.ntop.org
),可以使用
deri@ntop.org
和它联系。
授权许可:
ntop遵循GNU GPL许可协议。
http://www.gnu.org

FreeBSD上的网络监控软件ntop安装运行

freebsd-ntop

FreeBSD上的网络监控软件ntop的安装步骤如下:
1、将相关的ports升级。(cvsup或其他方式如Sub….等);
2、安装ntop
#cd /usr/ports/net/ntop
#make install clean
#rehash
3、安装完成后,可以手工启动 ntop。即输入ntop,运行即可。
如果是第一次启动ntop,系统会提示,输入admin的口令;
或在/etc/rc.conf文件中加入 ntop_enable=”YES” 自动启动ntop;
4 、设置密码
/usr/local/bin/ntop -u nobody -A
输入查看密码
以进程服务形式启用ntop
/usr/local/bin/ntop -u nobody -d
5、此时可以用netstat -an 或 netstat -an |grep 3000 查看3000的端口在监听;
6、在浏览器中,输入http://*.*.*.* :3000既可以进入相应的ntop网络管理监控界面。

利用g4u备份与恢复UNIX系统

这里使用的vm的网桥联网方便的.以下为参考方法,已经测试过,只作为参考.

准备FTP服务器

如果你打算使用G4U为虚拟机创建镜像,将需要一个可用的FTP服务器。你也需要在FTP服务器上创建一个帐号,以便有权限创建和写入文件。

如果你寻找快速的FTP应用,不妨考虑Cerberus FTP。这款软件对个人免费开放,商业版本需要59.99美元。有了FTP服务器设置和叫做安装的帐号,就可以对源虚拟机创建镜像了。

克隆源虚拟机

使用以下步骤克隆源虚拟机硬盘镜像:

1.从http://www.feyrer.de/g4u/站点下载G4U CD-ROM ISO镜像并保存在源虚拟机主机系统上。

2.使用所下载的g4u-2.2.iso文件配置虚拟机的虚拟CD-ROM。

3.在虚拟机开始启动时按下ESC键。将出现虚拟机的启动菜单,然后选择CD-ROM驱动。

4.默认下,虚拟机将通过DHCP试图获取一个IP地址。如果没有可用的DHCP服务器,通过以下步骤为虚拟机设置一个静态IP地址:

  1. 运行ifconfig –a命令给网络接口命名。
  2. 现 在运行ifconfig <ip address> netmask <subnet mask>命令设置IP地址。例如,为了在接口pcn0上设置IP地址,你将运行ifconfig pcn0 192.168.0.10 netmask 255.255.255.0。

5.现在开始创建镜像。运行uploaddisk <ftp server> <filename.gz> [disk]命令。例如,在服务器192.168.0.5上的镜像文件夹里创建叫做w2ksrv.gz的镜像,你将运行  uploaddisk 192.168.0.5 images/w2ksrv.gz

注意,如果虚拟机使用的是虚拟SCSI磁盘,你将需要在命令句法里指定克 隆哪个磁盘。通过使用G4U运行磁盘命令能看见所有的磁盘。因此如果上面的例子使用的是虚拟SCSI磁盘而不是IDE磁盘的话,该运行这个命 令:uploaddisk 192.168.0.5 images/w2ksrv.gz sd0

6.出现提示时,输入密码以在FTP服务器上安装帐户。不久将开始上传镜像。

7.等待上传。完成后关闭源虚拟机。

现在已经准备好将镜像部署到目标虚拟机。

准备目标虚拟机

按照以下步骤进行:

1.在Virtual Server(或Virtual PC)上创建一台与源虚拟机硬件配置相同的虚拟机。注意,目标系统上的虚拟硬盘必须等于或大于源虚拟机的虚拟硬盘。

2.使用downloaded g4u-2.2镜像文件配置虚拟机的虚拟CD-ROM。

3.默认下,虚拟机将通过DHCP试图获取一个IP地址。如果没有可用的DHCP服务器,通过以下步骤为虚拟机设置一个静态IP地址:

  1. 运行ifconfig –a命令给网络接口命名。
  2. 现 在运行ifconfig <ip address> netmask <subnet mask>命令设置IP地址。例如,为了在接口pcn0上设置IP地址,你将运行ifconfig pcn0 192.168.0.10 netmask 255.255.255.0。

4.使用以下命令句法下载虚拟机:slurpdisk <FTP Server> <image path and file> [disk]。例如,为了下载服务器192.168.0.5镜像文件夹里叫做w2ksrv.gz的镜像,你应该运行slurpdisk 192.168.0.5 images/w2ksrv.gz

5.出现提示时,输入密码安装FTP帐号。注意,如果下载出现错误,可能需要使用slurpdisk命令句法(例如:slurpdisk 192.168.0.5 images/w2ksrv.gz wd0)指定目标磁盘。运行磁盘命令查看所有目标磁盘。

6.下载完成后重启虚拟机。

7.重启系统后登录虚拟机。你应该能看见检测到的新硬件,并且出现重启的提示,点击“Yes”。

8.系统重启后登录,然后安装虚拟机附件。这将在新虚拟机上安装与Virtual Server(或Virtual PC)兼容的驱动。

我已经使用过本文描述的步骤转换Windows 2000、Windows XP和Windows Server 2003上的VMware虚拟机到Virtual Server 2005 R2。

当克隆系统在虚拟服务器上不能启动时,常见的问题如下:

与VMware相关的驱动在源系统未克隆之前没有安装。这能通过登录到Recovery Console并禁用与VMware相关的驱动来纠正。

复制了不正确的hal.dll和ntoskrnl.exe文件到%windir%system32文件夹。这能通过登录到Recovery Console并复制正确的文件版本到%windir%system32文件夹来纠正。

源系统的Boot.ini文件指在新Virtual Server磁盘上的错误操作系统位置。这能通过运行Recovery Console里的bootcfg /rebuild修复。

作为最后的手段,许多人都重新在克隆虚拟机上重新运行Windows设置,并选择修复现有的操作系统安装。尽管这能让克隆虚拟机重新操作,不过这需要花费很长时间,还可能需要重新安装先前安装在虚拟机上的所有应用。

解决Windows设置问题的更多信息请参加Windows Server 2003 – Troubleshooting Startup。

当我第一次开始执行VMware到Virtual Server的迁移时,这个过程通常非常耗时。在迁移过程中,为克隆准备源虚拟机要不到15分钟,其余时间都花在克隆软件本身了。

任何镜像方法都能用于从源虚拟机克隆虚拟磁盘到目标虚拟机,不过迁移过程的真正关键在于准备源虚拟机。如果准备得好,虚拟机迁移过程就很简单。

VMWare的三种工作模式

如果你想利用VMWare在局域网中新建一个独立的虚拟服务器,为局域网用户提供网络服务;或者想创建一个与网内其他机器相隔离的虚拟系统,进行特殊 的调试工作。此时,对虚拟系统工作模式的选择就非常重要了。如果你选择的工作模式不正确,就无法实现上述目的,也就不能充分发挥VMWare在网络管理和 维护中的作用。现在,让我们一起走近VMWare的三种工作模式。
理解三种工作模式
VMWare提供了三种工作模式,它们是bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式。
1.bridged(桥接模式)
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置 IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那 么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
如果你想利用VMWare在局域网内新建一个虚拟服务器,为局域网用户提供网络服务,就应该选择桥接模式。
2.host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
提示:在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
如果你想利用VMWare创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作,可以选择host-only模式。
3.NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访 问互联网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也 就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问 互联网即可。
如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
提示:以上所提到的NAT模式下的VMnet8虚拟网络,host-only模式下的VMnet1虚拟网络,以及bridged模式下的VMnet0虚 拟网络,都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。
配置虚拟系统工作模式
在实际的工作中,由于用户的需求不同、调试环境的要求不同,不同的用户需要选择不同的工作模式,也许是bridged模式,也可能是NAT模式或 host-only模式。不管选择使用何种工作模式,将虚拟系统配置成相应的工作模式是非常简单的,在“新建虚拟机向导”对话框中就可以完成。
在“新建虚拟机向导”对话框中一路点击“下一步”按钮,进入“Network Type”对话框后,就可以选择你所使用的工作模式(图2)。在“Network Type”对话框中有四个单选项,分别为bridged模式、NAT模式、host-only模式、不使用网络连接,选择你需要使用的工作模式后,点击 “下一步”按钮,就可完成虚拟系统工作模式的配置。

重启nginx服务的简单命令

目前的版本基本上不需要用下面的命令了,直接 nginx -s reload 就可以了。

用root权限

#killall nginx

#nginx

其它相关命令:

1.显示nginx进行id
#ps -aux | grep nginx

2.结果nginx的master进行pid
#kill -HUP 635

3.重启ngnix
#nginx

nginx虚拟主机及ftp权限应用问题

平时给一个目录执行一个

#chown -R blog:ftp /www/blog

命令,如果再通过ftp上传文件的话,发现文件属性为600,访问的时候总是提示”Access Denies!”,提示权限不够,此时可以在系统里执行一下命令进行解决,
#chown -R blog:ftp /wwww/blog

#chmod -R 777 /www/blog

命令中的-R选项用来让子目录继承父目录的权限,

注意:vsftpd.conf 里的local_umask=066(或者是022),

其中最有效的方法就是将vsftpd.conf配置文件里的local_umask的值修改为000就可以了,本人已经测试无误!

1,文件权限算法
我们知道系统默认权限炎:

目录的初始权限是 777
文件的初始权限是 666

此时上传文件权限计算方法:

用初始的权限权限umask的权限 = 新建目录或文件的权限

:新建目录的权限就是777-022=755 ,    新建文件的权根就是666-022=644

2,修改 /etc/vsftpd/vsftpd.conf 文件设置
local_umask=066  (系统默认为022)
066即为权限umask的权限,如设置066,那么上传文件的权限可以计算出为:666-066=600