原始套接字的问题。

wkgenius 2003-07-07 06:57:58
我用原始套接字写了个程序,并把网卡设为混杂模式,想接收网络上的所有数据,可是出了自己的机器发出和收到的数据,只能接到别的机器和网关通信的,还有别的机器进行广播和组播的数据,而且,奇怪的是,我可以接收到网络上所有的ICMP报文。
请问为什么?
原始套接字是工作在IP层还是链路层?
...全文
85 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookuy 2003-07-14
  • 打赏
  • 举报
回复
gz
farfh 2003-07-14
  • 打赏
  • 举报
回复
gz
wkgenius 2003-07-10
  • 打赏
  • 举报
回复
我收到的ICMP报文目的地址既不是广播,也不是组播。
我就是我感到奇怪的原因呀。
cwanter 2003-07-10
  • 打赏
  • 举报
回复
你确信收到的ICMP报文的目标地址是广播地址吗?是不是组播地址?
wkgenius 2003-07-09
  • 打赏
  • 举报
回复
可是在交换机网络下,我可与接到其他机器之间传送的ICMP报文,也就是说,为什么交换机会把ICMP报文广播?
cwanter 2003-07-09
  • 打赏
  • 举报
回复
ICMP可以是广播数据,也可以不是~
NetDoggy 2003-07-09
  • 打赏
  • 举报
回复
gz
wkgenius 2003-07-08
  • 打赏
  • 举报
回复
为什么说ICMP是广播数据?
kingzai 2003-07-08
  • 打赏
  • 举报
回复
你首先确认你的局域网环境是HUB还是交换机,如果是交换机,必须在网关或代理上。如果你想监测IP层以下的包,则必须使用WINPCAP或驱动。
qinghero 2003-07-07
  • 打赏
  • 举报
回复
学习
wkgenius 2003-07-07
  • 打赏
  • 举报
回复
ICMP是广播数据?为什么?
Kingston 2003-07-07
  • 打赏
  • 举报
回复
1、从OSI体系结构来看,集线器属于OSI的第一层物理层设备,而交换机属于OSI的第二层数据链路层设备。也就意味着集线器只是对数据的传输起到同步、放大和整形的作用,对数据传输中的短帧、碎片等无法进行有效的处理,不能保证数据传输的完整性和正确性;而交换机不但可以对数据的传输做到同步、放大和整形,而且可以过滤短帧、碎片等。
  2、从工作方式来看,集线器是一种广播模式,也就是说集线器的某个端口工作的时候,其他所有端口都能够收听到信息,容易产生广播风暴,当网络较大时网络性能会受到很大的影响,那么用什么方法去避免这种现象呢?交换机就能够起到这种作用!当交换机工作的时候,只有发出请求的端口和目的端口之间相互响应而不影响其他端口,因此交换机就能够隔离冲突域和有效的抑制广播风暴的产生。
3、从带宽来看,集线器不管有多少个端口,所有端口都是共享一条带宽,在同一时刻只能有二个端口传送数据,其他端口只能等待,同时集线器只能工作在半双工模式下;而对于交换机而言,每个端口都有一条独占的带宽,当二个端口工作时并不影响其他端口的工作,同时交换机不但可以工作在半双工模式下而且可以工作在全双工模式下。
wkgenius 2003-07-07
  • 打赏
  • 举报
回复
那交换机和HUB格式工作在哪一层呢?
交换机和HUB有什么区别?
cwanter 2003-07-07
  • 打赏
  • 举报
回复
http://www.xfocus.net/articles/200104/147.html
http://www.xfocus.net/articles/200205/395.html
http://www.xfocus.net/articles/200204/377.html
Kingston 2003-07-07
  • 打赏
  • 举报
回复
你可以把程序放在网关路由上测试。
Kingston 2003-07-07
  • 打赏
  • 举报
回复
你的机器连接的不是HUB,是交换机等,这样你的网卡就不能收到不属于你的数据,因为交换机和HUB是工作在不同的层。
铖邑 2003-07-07
  • 打赏
  • 举报
回复
你必须是集线器才能接收其它机器的数据,ICMP是广播数据,所以你可以收到,原始套接字工作在IP层。

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧