WinPcap是什么?干什么用的?
WinPcap是网络流媒体检测软件,可以进行信息包捕获和网络分析
它是“网络嗅探器”类软件的的捆绑软件,它必须处于运行状态时,“网络嗅探器”类软件才可以正常工作
分析在线播放的流媒体直接下载地址信息类似与libpcap的包,支持WIN32平台。可以进行信息包捕获和网络分析,是基于UNIX的libpcap和BPF(Berkeley分帧过滤器)模型的包。
Centos下查看网卡的实时流量命令?
有两个方法来查看监控服务器流量,看是否有异常。
1. 使用系统自带的命令: watch more /proc/net/dev可以查看每2秒的字节和数据包的变化。但不那么直观。
2. 使用nload命令,需要自行安装1)# yum install flex byacc libpcap ncurses ncurses-devel libpcap-devel2)# wget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gz 3)# tar xvfz nload-0.7.4.tar.gz 4)# cd nload-0.7.4 5)# ./configure6)# make && make install 执行nload命令,结果比较直观。
为何我的tcpdump在linux下运行不了?
tcpdump是通过libpcap来抓取报文的,libpcap在不同平台有不同的实现,下面仅以Linux平台来作说明。首先Linux平台在用户态获取报文的Mac地址等链路层信息并不是什么特殊的事情,通过AF_PACK套接字就可以实现,而tcpdump或libpcap也正是用这种方式抓取报文的(可以strace tcpdump的系统调用来验证)。关于AF_PACK的细节,可查看man 7 packet。其次,上面已经提到tcpdumap使用的是AF_PACK套接字,不是Netfilter。使用Netfilter至少有2点不合理的地方:
1. 数据包进入Netfilter时其实已经在协议栈做过一些处理了,数据包可能已经发生一些改变了。比较明显的一个例子,进入Netfilter前需要重组分片,所以Netfilter中无法抓取到原始的报文分片。而在发送方向,报文离开Netfilter时也未完全结束协议栈的处理,所以抓取到的报文也会有不完整的可能。
2. 在Netfilter抓取的报文,向用户态递送时也会较为复杂。Netfilter的代码处在中断上下文和进程上下文两种运行环境,无法使用传统系统调用,简单的做法就是使用Netlink。而这还不如直接用AF_PACKET抓取报文来得简单(对内核和用户态程序都是如此)。
snort的工作特点?
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。
Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取:Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、
Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。
Snort通过在网络TCP/IP的5层结构的数据链路层进行抓取网络数据包,抓包时需将网卡设置为混杂模式,根据操作系统的不同采用libpcap或winpcap函数从
网络中捕获数据包;然后将捕获的数据包送到包解码器进行解码。