关于apache的跟踪

曾经修改过/etc/resolve.conf后,发现apache进程里还是使用旧的dns server来解析域名,重启apache后才生效;这里给出几个确认的办法:

办法一: 如果服务器上没有其它需要域名解析的进程的话,使用tcpdump 来观察53端口的udp包就基本可以知道了

                  命令: tcpdump -i eth1 -nn -X -s 0  "port 53 and udp"

办法二: 随便找一个httpd的子进程strace一下就基本知道了,但是要求两点:

                  1. 访问量比较大,随时都有做域名解析的可能;而且程序里确实有做域名解析的需要

                   2. httpd子进程不会死的太快,太快了你会抓不到的

                  命令: strace -p pid_of_httpd_child -e trace=network 2>&1 | grep "(53)"

办法三: 因为httpd子进程可能死的太快,我们就从httpd的守护进程着手
                 命令: strace -p pid_of_httpd_parent -fF -e trace=network 2>&1 | grep "(53)"

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据