2008-3-20
3、Tcpdump
tcpdump可能是检查网络通讯原始数据构成最著名的应用程序了,Debian用户可以通过apt-get install tcpdump来获取,tcpdump文件就是著名的pcap文件,因为pcap是实现包捕获的库。
在这个例子中,我们dump来自源端口53或目标端口53的所有通讯,意味着,所有的DNS通讯,我使用的-n参数,如果你想更详细一点,你可以使用src port 53或者dst port 53,除此之外,tcpdump尝试ip地址到域名的解析,以便于打印出比较友好的名字,那些DNS请求也将在我们的捕获中显示出来:
# tcpdump -n ’port 53’
tcpdump: verbose output suppressed,
use -v or -vv for full protocol
decode
listening on eth0, link-type EN10MB (Ethernet),
capture size 96 bytes
11:19:58.302298 IP 192.168.0.8.1037 >
192.168.128.1.53: 36224+ A?
www.slashdot.org. (34)
11:19:58.360227 IP 192.168.128.1.53 >
192.168.0.8.1037: 36224 1/5/5 A
66.35.250.151 (239)
...
在其他事情中,snort能存储tcpdump格式的捕获数据,你需要用-r <文件名>和-w <文件名>参数来读取和写入存储的文件。
4、Snort
snort是一款最重要的开源网络入侵检测系统,基本上意味着它留意坏的通讯并给你提供警告,它始终保存你读取原始tcpdump内容的输出,Debian用户可以通过apt-get install snort来获取它,默认情况下,它将网络接口设置为混杂模式,也就是说,所有在线路上的数据包都被检查。
如果你正在尝试保护一个网络,通常你的snort传感器应该放在主路由器的SPAN端口上,这样它就能查看到所有经过那个路由器的网络通讯内容。(SPAN端口提供了所有经过路由器的通讯的一个总和)如果你正在尝试保护一个单独的主机,只需要在主机上简单地按照它即可。
Snort依靠一个规则数据库来检查数据包,/etc/snort/rules/bad-traffic.rules中有一个例子标记出了一个tcp端口号为0的无效通讯:
alert tcp $EXTERNAL_NET any <> $HOME_NET 0
(msg:"BAD-TRAFFIC tcp port 0 traffic"; flow:stateless;
classtype:misc-activity; sid:524; rev:8;)
snort将它的警告信息记录到一个文件中,典型地是/var/log/snort/alert,看起来象是这样,表明一个策略规则已经生效,因为来自Google Desktop用户代理的web通讯被观察到了:
[**] [1:2002801:3] BLEEDING-EDGE WEB
Google Desktop User-Agent Detected
[**]
[Classification: Potential Corporate Privacy
Violation] [Priority: 1]
11/02-11:27:58.855143 10.0.0.82:3449 ->
66.35.250.209:80
TCP TTL:128 TOS:0x0 ID:35935 IpLen:20
DgmLen:399 DF
***AP*** Seq: 0x847921EE Ack: 0x1A7D5C20
Win: 0xFFFF TcpLen: 20
[Xref => http://news.com.com/2100-1032_3-6038197.html]
Snort也能被配置为记录匹配tcpdump格式的数据包,如下:
# log_tcpdump: log packets in binary tcpdump format
# -------------------------------------------------
# The only argument is the output file name.
#
output log_tcpdump: tcpdump.log
上一页 [1] [2] [3] [4] [5] 下一页
转截请注明:来自 广西安全网络 Http://www.gxfa.com

