精华区里有一篇dnstop的配置文章,其中提到libpcap的需要动态编译问题,本人近段时间重新作了一下dnstop在solaris7下的配置,发现本来认为应该很麻烦的问题其实很容易解决。
抓下dnstop和libpcap的包,这两个是必须的,当然,你还需要有gcc,其他的c编译器不被支持。
在这里关于libpcab,我并没有自己编译,而是用的libpcap-0.8.1-sol7-sparc-local的安装包,并不涉及到更改编译的问题。
保证装好libpcab和gcc以后
在相关目录下执行
[code:1:be2d8eb61c]bash-2.05# gunzip dnstop-20040309.tar.gz
bash-2.05# tar -xvf dnstop-20040309.tar
dnstop-20040309/
dnstop-20040309/Makefile
dnstop-20040309/dnstop.8
dnstop-20040309/known_tlds.h
dnstop-20040309/dnstop.c
dnstop-20040309/CHANGES
dnstop-20040309/LICENSE
bash-2.05# cd dnstop-20040309[/code:1:be2d8eb61c]
然后修改其中的Makefile文件,主要是
[code:1:be2d8eb61c]CFLAGS=-g -Wall
PROG=dnstop
#注释掉这行 DATE != date +%Y%m%d
CC=gcc
SRCS= $(PROG).c
known_tlds.h
# You may need to uncomment this, esp on Solaris
XTRALIBS= -lnsl -lresolv -lsocket ;取消掉这行的#
all: $(PROG)
$(PROG): $(PROG).o
$(CC) $(CFLAGS) -o $@ $(PROG).o -lpcap -lcurses $(XTRALIBS)
clean:
rm -f $(PROG) $(PROG).o $(PROG).core $(PROG).c~
tar:
mkdir $(PROG)-$(DATE)
cp -p LICENSE CHANGES $(SRCS) dnstop.8 Makefile $(PROG)-$(DATE)
tar czvf $(PROG)-$(DATE).tar.gz $(PROG)-$(DATE)
chmod 444 $(PROG)-$(DATE).tar.gz
rm -rf $(PROG)-$(DATE)[/code:1:be2d8eb61c]
然后make就会译出dnstop程序
使用
dnstop <netdevice>就可以实现基本功能
例如
[code:1:be2d8eb61c]dnstop hme0[/code:1:be2d8eb61c]
怎样,简单吧