2 gaochao7758 gaochao7758 于 2016.01.26 11:22 提问

本地计算机抓到源地址和目地地址不是本机的TCP报文,正常吗?

本地计算机抓到源地址和目地地址不是本机的TCP报文,正常吗?
交换机没有开端口镜像,我本机也没有开ARP欺骗软件,且报文中抓到的报文mac地址和我本地也不一样。
帮帮忙,非常感谢啊。

5个回答

JamesParter
JamesParter   2016.01.26 11:27

你是用什么软件抓的?软件抓数据包的时候可能把你的网卡设置为混杂模式了。混杂模式下的网卡是可以抓去网段内的所有流量的

gaochao7758
gaochao7758 wireshark抓包设置成混杂模式跟这个没关系吧。按我的理解是网卡开启混杂模拟只是可以捕获到所有报文,但是要捕获到所有报文也需要交换机给你转发才行啊。 交换机除了转发广播和组播报,应该不会给端口转发和这个端口毫无关系的TCP单播包文吧。 有没有高手知道的啊?帮帮忙,3Q。
2 年多之前 回复
gaochao7758
gaochao7758   2016.01.26 11:48

wireshark抓包设置成混杂模式跟这个没关系吧。交换机转发的时候是按mac地址和端口表进行转发的,正常应该不会把非本地的mac地址的TCP报文转过来吧。

Royal_lr
Royal_lr   Ds   Rxr 2016.01.26 13:09

这个具体要看你怎么抓的,,

gaochao7758
gaochao7758 按我的理解是网卡开启混杂模拟只是可以捕获到所有报文,但是要捕获到所有报文也需要交换机给你转发才行啊。 交换机除了转发广播和组播报,应该不会给端口转发和这个端口毫无关系的TCP单播包文吧。 有没有高手知道的啊?帮帮忙,3Q。
2 年多之前 回复
gaochao7758
gaochao7758   2016.01.26 13:47

按我的理解是网卡开启混杂模拟只是可以捕获到所有报文,但是要捕获到所有报文也需要交换机给你转发才行啊。
交换机除了转发广播和组播报,应该不会给端口转发和这个端口毫无关系的TCP单播包文吧。
有没有高手知道的啊?帮帮忙,3Q。

JamesParter
JamesParter 交换机收到未知地址的数据包时,也会广播该数据帧
2 年多之前 回复
JamesParter
JamesParter   2016.01.28 10:53

刚才又查了一下,wireshark抓包时将默认设置网卡为混杂模式,这是一点;第二点就是交换机收到未知地址的数据帧时将广播该数据帧,这样就会被你抓取到了

gaochao7758
gaochao7758 我抓到的是TCP报文,TCP是要在3次握手后建立连接的,连接成功后才会传输报文,连接的时候交换机肯定就已经知道这个IP对应的mac地址,转到相应的交换机端口
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
利用iptables修改UDP报文源IP地址的方法
1. 问题起因: 最近在一个项目中,有一个模块是基于UDP的服务端,为了保证系统的高可用性,方案中采用了KeepAlive做主备切换,拓扑模型如下: 客户端访问系统的入口地址是VIP,此时VIP落在UDP Server主上,也就是说,此时实际上UDP Server主有两个IP,一个是自己的实际IP地址,即IP1,另一个是VIP。理想情况下,系统是通过VIP接受了UD
netfilter例2:改ip报文头部里的ip地址
本例对ip报文的报头源地址做了修改,然后转发。 文件名:change_srcip.c /* * this programe is working as plugin of netfilter which will change the source address * of ipv6 packets. */ #include #include #include #include #
Wireshark抓取本机报文
在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。 具体方法如下: ①:以管理员身份运行cmd ②:route add 本机ip mask 255.255.255.255 网关ip for example route add 192.168.1.103
PHP伪造IP或来源地址
PHP伪造IP做了些关于伪造IP的CTF题目,看了些别人的文章,稍微自己总结一下 实验环境服务器操作系统:window Client IP:192.168.220.1 Server IP:192.168.220.141 HTTP请求报文// 删除了一些不重要的请求头 GET /test.php HTTP/1.1 Host: 192.168.220.141 X-Forwarded-For: 1
TCP协议中的源地址和目的地址是内网地址还是外网地址的测试
1.服务端和客户端都是内网的情况下,显然源地址和目的地址都是内网地址。   2.当服务端是公网,客户端是内网的情况下,服务端是怎么找到客户端的?     当客户端给服务端发消息时,TCP包里面的ip刚开始是内网地址,到达网关时,内网地址替换成网关地址(外网地址),网关自己做好保存(哪个端口 对应哪个内网地址) 然后在将数据包传送到服务端;服务端向客户端传送数据时TCP包里面先是客户端的最外层网
whireshark工具使用和tcp报文学习心得
抓包学习及TCP报文解析
wireshark抓取不到本地回路的数据包
在测试时,要用wireshark抓取本地回路的测试包,结果发现怎么都抓不到127.0.0.1的tcp数据包,不管怎么看,都没有127.0.0.1的数据包.弄了半上午,发现如果是tcp客户端向别的IP通信wireshark都能正常截获,如果是本机则没有一点动静能截获到。当时怀疑两个原因:一、wireshark不支持本地回路抓包;二、发包工具是不是有伪装IP的可能。   不甘心,网上搜搜本地回路
Qt获取运行设备本机IP地址
本人在开发Qt应用程序时,需要在应用程序中显示运行设备的本机IP地址,本来考虑解析运行设备的网络配置文件来获取IP地址,后来查阅文档后,发现Qt的网络编程模块中QHostAddress类 可以很方便解决这个问题,记录一下。 本人实现方法如下:     QList ipAddressesList = QNetworkInterface::allAddresses();     // use t
ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗?
原文:http://hi.baidu.com/adobestone/item/7140eaf5feae1d3e753c4c2a?qq-pf-to=pcqq.c2c ping 127.0.0.1 和 本机的ip地址,数据包会发到网卡上面吗? adobestone注:下图来自于《TCP/IP详解卷一:协议》第二章 图2-4 另,无论是ping127.0.0.1或本地IP(
抓包工具抓取本机报文(wiresharke)
在进行通信开发的过程中,我们往往会把本机既作为客户端又作为服务器端来调试代码,使得本机自己和自己通信。但是wireshark此时是无法抓取到数据包的,需要通过简单的设置才可以。       具体方法如下:       ①:以管理员身份运行cmd       ②:route add 本机ip mask 255.255.255.255 网关ip       for example rout