LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: LaoLang_cool

(己解决,特別感谢arli和maitr)linux下不能ping外网,bsd和windows则正常,dns设置都一样。

[复制链接]
发表于 2008-3-20 21:12:38 | 显示全部楼层
wireshark
tcpdump
抓包分析……
回复 支持 反对

使用道具 举报

发表于 2008-3-21 01:41:54 | 显示全部楼层
Post by zhllg;1828912
wireshark
tcpdump
抓包分析……


这办法够狠 - -!
回复 支持 反对

使用道具 举报

发表于 2008-3-21 11:13:09 | 显示全部楼层
乐哥整的太professional了....
回复 支持 反对

使用道具 举报

发表于 2008-3-21 11:52:19 | 显示全部楼层
pro不professional是相对的
如果你真的想知道一件事,你就不会管太多东西
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-21 13:49:06 | 显示全部楼层
我发现了个特点:
ping -c 1 dnsIP,第一次会失败,但第二次就好了然后就能上了!不知什么原因?
不止是ping dnsIP可以回复正常,ping任何网址都可以上网!

昨天只是回光返照。。。现在又上不了网了。
回复 支持 反对

使用道具 举报

发表于 2008-3-21 13:55:17 | 显示全部楼层
我觉得还是用 gentoo liveCD 或其他的 liveCD来试一下能否上网(最省事的办法)
目的是验证 < linux下不能ping外网,bsd和windows则正常,dns设置都一样。 > 是否linux都没搞头
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 16:41:14 | 显示全部楼层
今天试了以前正常的arch livecd 0.72,内核是22的,也是不能上,100次中只有一次成功(夸张了点),看来不是设置问题。
回复 支持 反对

使用道具 举报

发表于 2008-3-22 23:09:57 | 显示全部楼层
Post by LaoLang_cool;1829590
今天试了以前正常的arch livecd 0.72,内核是22的,也是不能上,100次中只有一次成功(夸张了点),看来不是设置问题。

运行 arp -a 确认你在linux下的arp (网关mac)是正确的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-3-22 23:20:02 | 显示全部楼层
arp -a:
? (192.168.1.1) at 00:1D:0F:7D:75:28 [ether] on eth0

ifconfig:
eth0      Link encap:Ethernet  HWaddr 00:01:2E:15:80:2F  
          inet addr:192.168.1.142  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1646 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1078 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:508110 (496.2 Kb)  TX bytes:153664 (150.0 Kb)
          Interrupt:16 Base address:0xe000

lo        Link encapocal Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

不一样?
什么原因?
我这两台linux,一台网卡是8139,一台是8169,有时,一般是深夜,开机不能上网,ping几次外网就好了;有时,ping多少次都不行。两台机器症状相同。
前面说的arch live-cd,以前是正常的,现在也不行了,应该是网络原因。
我的网络环境是:
外网 -> 路由 -> 交换机 -> 路由
我处于最里面的那个路由的内网。
学校里的网络,排除电信封杀可能。且同一内网的其它windows都很正常。
回复 支持 反对

使用道具 举报

发表于 2008-3-23 00:18:48 | 显示全部楼层
arp -a:
? (192.168.1.1) at 00:1D:0F:7D:75:28 [ether] on eth0
这个是本机ARP缓存中记载的网关MAC地址,用这个地址去核对你路由器的MAC地址,如果不一样,很可能是被ARP攻击了……

IPV4的以太网中使用MAC地址通信,地址解析协议(Address Resolution Protocol,ARP)用来完成IP地址到MAC地址的解析。arp缓存中储存了IP地址于MAC地址的映射关系
而ARP协议是以广播形式进行IP地址解析的,这是个天生的bug,如果有台电脑A,在你用ARP协议解析网关MAC地址的时候做出响应,或者A不停的向你发送ARP响应包,说自己是192.168.1.1,MAC地址是XXX,你的电脑就会错误的刷新ARP缓存,在有数据包需要送往网关的时候,查表(ARP缓存)得到的MAC地址是A的MAC地址,数据包就会被送往A机……

按照你描述的情况,这种可能性不大,但仍有可能无意间在win下安装了具有所谓ARP防火墙一类功能的软件。,却还是无法解释FreeBSD也能正常上网。

验证下吧。排除了ARP欺骗的可能,剩下的恐怕只能像乐哥说的,抓包分析……
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表