nasvel 回复于:2003-09-03 14:17:01 |
据我所知,不可能有两块ethe.net cards有相同的MAC地址。这由硬件制造商保证的。 |
cgweb 回复于:2003-09-03 14:25:01 |
咳!大哥,没看清楚,俺在写一便"将linux MAC改为与win98的MAC相同" |
supengnest 回复于:2003-09-03 14:29:18 |
我也想知道,顶一下 |
sakulagi 回复于:2003-09-03 14:33:23 |
我怀疑是不是gatway里面还是有mac的cache,不受你改动的影响。不管怎么改mac,最后网卡在发送包的时候还是会自动将mac的信息附加上去。我对网络不是很熟,猜测而已。 |
cgweb 回复于:2003-09-03 14:37:13 |
linux#ping win98 有回音 #tcpdump 原MAC > 目的MAC 一样. |
孙轩 回复于:2003-09-03 14:57:31 |
所谓正常,是什么现象? |
cgweb 回复于:2003-09-03 15:05:39 |
linux能mount win98的共享目录win98能通过linux上网. |
好好先生 回复于:2003-09-03 15:36:41 |
挺有意思,我也关注结果. |
xinyv 回复于:2003-09-03 15:53:43 |
看了楼主的帖子,自己实验了一下,确实在linux8.0下存在以上问题,还发现了帮定了相同的ip地址也不会提示冲突。但是其他机器不能访问这两个相同MAC的机器了,但相同MAC的机器对外访问不会影响。 |
cgweb 回复于:2003-09-03 15:57:50 |
why?? |
mb 回复于:2003-09-03 16:04:07 |
接点是不是有交换机呀 |
cgweb 回复于:2003-09-03 16:43:39 |
HUB |
cgweb 回复于:2003-09-03 16:44:29 |
要是有一台机器发ARP广播,两台MAC的机器谁回应呢 |
cgweb 回复于:2003-09-03 17:06:54 |
UP |
jinxingvenus 回复于:2003-09-03 17:20:30 |
水不够深,关注中。。。。。 |
cgweb 回复于:2003-09-04 09:53:04 |
请高手看看 谢谢了。 |
czsz 回复于:2003-09-04 10:07:10 |
我们公司用盗版PSOS,6.7台电脑都改成同一个MAC,怎么还是一样上网?一点冲出没有! |
xinyv 回复于:2003-09-04 10:12:15 |
关注中. |
marlborolj 回复于:2003-09-04 10:17:32 |
可能是有缓存 linux机器重新启动没有, 你用arp试试!!!! |
pondka 回复于:2003-09-04 10:32:57 |
可是,MAC怎么能改呢?不是固定在板子中的吗? 不明白! |
platinum 回复于:2003-09-04 10:38:13 |
有命令可以改 咱们再做个实验吧!把两个相同MAC的网卡分别插到两台机器上,同时重装系统,然后配网,用不同IP,最后再连线,确保无CACHE |
marlborolj 回复于:2003-09-04 11:43:16 |
在同时去ping一台机器,用arp在看看他们的mac地址 |
xinyv 回复于:2003-09-04 12:07:28 |
cache应该是有时间的,不会一直存在吧。 |
cgweb 回复于:2003-09-04 12:31:46 |
我把更改MAC地址的命令写到起动脚本里 , 情况同上。 |
j4fun 回复于:2003-09-04 12:34:20 |
首先HUB是广播的,每一台接入HUB的主机都能受到所有的数据帧,然后对帧中的目的MAC地址进行检查,如果是本机的MAC地址就会将数据帧传给网络层处理。 网络层查看PACKET的目的IP地址,如果是本机的IP地址就分析是什么协议的数据包,然后传给相应协议处理。 即便主机受到了目的MAC地址与本机MAC地址相同的情况也会进一步发现目的IP地址不同而丢弃该PACKET. 关于ARP: ARP request 是IP--->MAC的查询,因此会在一个广播域中进行广播查询,目的MAC地址是FFFFFF 每一台主机都会接收并将该帧传给网络层处理,如果目的(即查询)IP地址是自己的IP,才会返回一个ARP REPLY,否则就丢弃该包!只要LINUX与win98主机的IP地址不同,只会由一台主机对该包进行回应! 关于ARP CACHE: 每台主机都会有一个ARP的CACHE 默认是空的(当然windows的主机开机是会PING网关以确认其MAC地址,因此开机后会有一条记录)。ARP CACHE中的内容一般都是通过发送ARP request得到的,是动态的,若干分钟后会清空(是具体OS而定),除非你使用静态的记录。 主机在通讯前都会先通过ARP CACHE查询目的ip对应的mac,如果没有就发送ARP request查询,网络中只有与目的IP相应的主机才会返回其mac地址。接着源就能与目的进行通讯了!在一个ARP CACHE存在一个MAC对应不同IP是允许的,这也是在SWITCH环境中IP包截获的基础。 因此,如果LINUX与win98的主机用了相同的MAC主机,他们都能很好的HUB的环境下和外界进行通讯。当然SWITCH的环境就不同了,可能会造成这两天主机都无法与外界联系的情况! 有兴趣的朋友可以拜读一下W.Richard Stevens 的 TCP/IP Illustrated Volume 1---The Protocols 这本传世宝典! |
xinyv 回复于:2003-09-04 12:40:26 |
我晕,楼上的,发广播是开始,数据包出去以后要返回的,回送给哪个网卡呀。MAC相同两个都给???? |
j4fun 回复于:2003-09-04 12:44:23 |
返回给每个人,因为是HUB,一个冲突域啊!任何主机都可以受到网络的所有帧。 然后根据目的MAC决定是否丢弃,即便主机受到了目的MAC地址与本机MAC地址相同的情况也会进一步检验目的IP地址,不同则丢弃该PACKET。 |
cgweb 回复于:2003-09-04 12:49:56 |
j4fun 写的好阿! |
j4fun 回复于:2003-09-04 12:54:53 |
谢谢,小弟也就对TCP/IP有微薄的认识。 |
sakulagi 回复于:2003-09-04 13:47:38 |
谢谢j2fun的回答。 谢谢cgweb最近发起的很多不错的讨论。 |
好好先生 回复于:2003-09-04 13:55:46 |
写的是不错.谢谢! |
joseyu 回复于:2003-09-07 12:53:00 |
那假设IP,MAC都改成一样呢? 我试过两台机器都可以上网,但是会丢失数据 |
jfcat 回复于:2003-09-07 13:31:36 |
感谢这位老兄的回答,这多半是网络协议的操作控制问题 做网络的应该不光学习系统对网络也要有不少了解才行啊 感谢老兄 :) |
scy99 回复于:2003-09-08 23:15:08 |
通过软件修改mac地址,到http://www.unixedu.com下载 |
q1208c 回复于:2003-09-09 14:08:44 |
数据包在以太网上是本网段广播的,所以两能机器都能收到数据包,但只有一台能的网络(IP)层会响应,另一个则丢弃数据包。所以,应该能通信的。一点看法,大家共同研究。 |
cgweb 回复于:2003-09-09 14:34:25 |
如果是交换机每一个port 都是一个冲突域呀! |
q1208c 回复于:2003-09-09 16:23:10 |
那也没关系,如果是交换机,会不停的更新交换机自己的ARP表,如果本机的ARP表没有那个表项,就会的ARP广播,也就学到了IP,但如果有的话,那就会有问题了吧。我没试过。 |
JohnBull 回复于:2003-09-09 16:48:30 |
正常,你的网肯定是用HUB组的. 所以只要IP不一样就没有任何问题. |
JohnBull 回复于:2003-09-09 16:52:07 |
[quote:22e5e49442="q1208c"]那也没关系,如果是交换机,会不停的更新交换机自己的ARP表,如果本机的ARP表没有那个表项,就会的ARP广播,也就学到了IP,但如果有的话,那就会有问题了吧。我没试过。[/quote:22e5e49442] 普通交换机里面没有arp表! 只不过有些低档交换机如果发现两个端口上有同一个MAC,就会广播处理. |
q1208c 回复于:2003-09-09 16:56:41 |
说错了,MAC-ADDRESS-TABLE |
theseus 回复于:2003-09-10 00:20:30 |
[quote:143bead2a8="cgweb"]关于LAN上有两个相同MAC地址的问题 目的: 验证发往目的IP的数据包是通过目的MAC来传递 linux server 的MAC是 aa:aa:aa:aa:aa:aa windows 98 的MAC是 BB:BB:BB:BB:BB:BB windos 2000 的MAC是..........[/quote:143bead2a8] 目的: 验证发往目的IP的数据包是通过目的MAC来传递 linux server 的MAC是 aa:aa:aa:aa:aa:aa windows 98 的MAC是 BB:BB:BB:BB:BB:BB windos 2000 的MAC是..........[/quote] 不知道你所说的通讯是什么协议的, 就原理来说TCP是肯定不行的,ICMP,UDP是可以的。 以太网的协议是走带冲突检测的总线协议的,所以任何一台局域网的机器发送的ehter包,其他的网卡都可以接收到。但是网卡在没有设置成promisc的方式下,只会接收MAC地址是自己MAC地址的包,其他的包都会被丢掉。所以win2000向98发送的ICMP 和UDP包 linux和98都会接收到。UDP是无连接状态的,ICMP更不是了。UDP的包接受到以后linux没有相应的监听端口,所以UDP包会自动被linux drop掉。但是98监听了,所以就发给2000回应。如此, 2k和98就正常通讯了。至于ICMP 包,回应一次,也是可以理解的了。 但是TCP是绝对不行的,在主动连接起始阶段,2k向98 发送的SYN包在98接受到以后,98也会向2k发送ACK和SYN 包。2k发送的SYN包也会被linux接收到,但是linux没有相应的监听端口,所以就会向2k发送RST包。无论linux的RST包还是98的ACK/SYN包哪个先到达2k,linux的RST包都会使这个连接中断。 |
zerg_009 回复于:2003-09-24 10:42:32 |
猜测一下:两台机器MAC相同,但是除自己以外没有相同的,所以发出的包能够顺利到达其他的PC而不会产生冲突,但是同网段内有相同的MAC,无法确定哪个是目标,所以其他的PC无法访问这两台MAC相同的PC. 菜鸟的意见. |
cgweb 回复于:2003-09-24 12:37:57 |
theseus说的好。 |
whao 回复于:2003-09-24 14:00:11 |
ask of vegetable, how to change MAC? |
bearzhang 回复于:2003-09-24 14:24:23 |
[quote:1d764a4211="cgweb"]j4fun 写的好阿![/quote:1d764a4211] 举四只手称赞! |
srjiao 回复于:2003-09-24 14:26:20 |
我看也可能是缓存,多挺一会儿试验一下结果 |
godfrey 回复于:2003-10-05 11:00:51 |
在一个HUB里可能可以访问,在交换机不同端口应该不可以的 |
rinehart 回复于:2003-10-10 09:22:00 |
我也早就发现这样的问题了,但是有一点大家没有注意到,两台机中时常有网络中断的现象发生,我想对于广播的问题可能是有些随机性 . (2002年测试过) |
pinksnoopy 回复于:2003-11-02 16:02:04 |
这问题我也碰过,,之前我做过测试,,,也不知道原因是什么 我在linuxsir发了有关这贴子,到现在问了很多人都得不到解决!!!! |
namtso 回复于:2004-04-10 22:33:16 |
[quote:37fb178291="theseus"] 不知道你所说的通讯是什么协议的, 就原理来说TCP是肯定不行的,ICMP,UDP是可以的。 以太网的协议是走带冲突检测的总线协议的,所以任何一台局域网的机器发送的ehter包,其他的网卡都可以接收到。但是网卡?.........[/quote:37fb178291] linux并不会发送rst包,它判断收到的包里目的ip与自己的ip不一致时,只是丢弃这个包。如果linux回应rst包,就可能会被别人用来做dos攻击。 其实这情况跟一个网卡配置两个ip的情况是一样的。 |
UTOYHW 回复于:2004-05-09 12:45:32 |
在我们的局域网中有两个网关,一个512K 一个2M ,但两个网关共享在同一个局域网,我是在512K的,所以常盗用隔壁2M 的网关,后来进行MAC-IP绑定,我把自己的机的IP MAC改为隔壁一个同学的,竟然没有IP 冲突. 不过我那台机被我改了很多地方,天网也自己加了很多定义,TTL也改为255的.我用GOOGLE找了很多文章还不能有个清楚的答案!有谁比较清楚. |
UTOYHW 回复于:2004-05-09 12:48:48 |
操作系统是XP, LINUX下我还是用原来的IP,没有改,我同学也是XP . |
UTOYHW 回复于:2004-05-09 12:49:26 |
操作系统是XP, LINUX下我还是用原来的IP,没有改,我同学也是XP . |
qq_t1514 回复于:2005-05-21 14:21:05 |
这个是没有问题的,两个相同的mac互相发包,自己也会收到 |