请教!如何检测协议栈的状态?
现在遇到这样一个问题:
IP地址、掩码、网关、dns统统配置无误,并且可以ping通任何允许ping的IP地址-包括Internet和LAN的。但是HTTP不行、TELNET不行、nslookup不行。
具体情况:
nsswitch.conf中的hosts、ipnodes、network三项,如果不加dns,ping -s命令可以正常进行同时snoop正常、但是不能以IP地址的方式使用HTTP和TELNET,可以traceroute、但traceroute只能显示第一跳的信息、之后就×××了;如果加了dns项目,那么ping可以,但是ping -s只能收到第一个echo-reply,之后的全部丢失(百试不爽),nslookup失败,同样HTTP和TELNET失败。snoop的结果只能看到机器在请求DNS服务器查询,但是没有任何得到任何响应。
ICMP正常可以认为3层通信无问题了,traceroute能看到一跳,那么UDP也应该能行,但是由于只能看到一跳,所以可能UDP有些问题。但是所有依赖于TCP的协议:TELNET、HTTP都废了。
怎样才能检测当前协议栈的状态呢?有人遇到过相同的问题么?