在电脑上写了个网页,通过局域网用手机访问,然后用wireshack抓包
然后发现手机两个端口与服务器都建立了连接,这是为什么啊
而且还有一个不知道从哪来的连接,也没看到有tcp连接的建立,就突然发送了数据
可能是因为网页中包含了多个资源,例如图片、CSS文件、JavaScript文件等。当手机访问网页时,需要下载这些资源,因此会建立多个TCP连接,以便同时下载多个资源,提高下载速度。每个TCP连接都有自己的端口号,因此在Wireshark中可以看到多个端口与服务器建立了连接。
在Wireshark中开启下TCP流追踪功能,分析下完整过程看看
该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:
在TCP连接建立的过程中,客户端和服务器端都需要发送SYN(同步)和ACK(确认)数据包来进行连接的建立。这个过程被称为三次握手。一般情况下,客户端发送SYN数据包,服务器端接收到后发送ACK数据包回应,最后客户端再发送ACK数据包确认连接建立。这样才能保证连接的可靠性和正确性。
在你的情况下,从wireshark抓包数据来看,第一个连接是从客户端(192.168.1.7)向服务器(192.168.1.6)发送SYN数据包,服务器回应ACK数据包,然后客户端再发送ACK数据包确认连接建立。这是TCP连接正常建立的过程。
然而,第二个连接的建立过程有些不同。从wireshark的抓包数据来看,这是一个UDP连接,而不是TCP连接。UDP是无连接的协议,不需要建立连接,也不需要进行三次握手。因此,UDP连接可以直接发送数据,而不需要等待连接建立完成。这个UDP连接是从客户端的49169端口向服务器的1900端口发送的。
至于你提到的还有一个不知道从哪来的连接,从wireshark的抓包数据来看,这是一个TCP连接,但是没有看到三次握手的过程。这个连接可能是由于网络中的其他设备或程序发送的,也可能是由于网络嗅探器自身的行为导致的。需要进一步排查才能确定具体原因。
总之,在TCP连接建立的过程中,客户端和服务器端都需要发送SYN和ACK数据包来进行连接的建立。如果你发现客户端发送了两个连接,一个是正常的TCP连接,另一个是UDP连接,那么很可能是有其他设备或程序在网络中进行了相应的操作。需要进一步排查确定原因。
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢
A:每次发送数据包的时候, 都会有一个相应的计时器,一旦超过 RTO(超时时间) 而没有收到 ACK, TCP就会重发该数据包。
没收到 ACK 的数据包都会存在重传缓冲区里,等到 ACK 后,就从缓冲区里删除。
对于问题描述,可能存在以下几种情况导致手机端和服务器端建立了两条连接:
解决方案:可以通过对网络进行优化,避免网络丢包和延迟等问题的发生。也可以通过监控网络状态,及时检测并处理连接异常的情况,避免重复建立连接。
解决方案:可以通过对代码进行调试和排查,查找并修复代码问题,避免重复建立连接的情况出现。
另外关于突然发送数据的连接,可能存在以下情况:
解决方案:可以通过了解应用层协议的规范和定义,查找并修复问题。
解决方案:可以通过加强系统安全防护措施,防范黑客和攻击者的攻击行为。同时可以考虑使用加密等技术保护数据传输的安全性。如果发现异常连接,可以及时断开连接并进行安全检查。
总之,解决问题需要根据具体情况进行排查,加强网络管理和安全防护,以保障系统的正常运行和数据的安全性。
先检查下是不是自己过滤的有问题,105是你的ip,那112呢?112和你的服务器是同一个服务器ip地址吗?
如果你确认你过滤没有问题,是两个连接,那大概率是你的代码问题了,是否哪个协议走的外网,哪个又走的是局域网了。
引用chatGPT作答,TCP连接是一种可靠的传输协议,它需要经历三次握手(SYN,SYN-ACK,ACK)才能建立连接。因此,如果客户端发起了两个连接请求,那么在服务端就会建立两个独立的TCP连接。这可能是由于网络问题、软件问题或其他原因导致的。
当您通过局域网用手机访问电脑上的网页时,手机会向服务器发起TCP连接。如果您使用的是不同的应用程序或浏览器,可能会发起多个TCP连接。这些连接可能使用不同的端口,因此在Wireshark抓包时,您可能会看到多个TCP连接建立的情况。
关于突然发送数据的情况,可能是由于网络中的其他应用程序或设备发送的数据。这些数据可能使用其他协议,如UDP或ICMP,因此您在Wireshark抓包时可能无法看到TCP连接的建立。如果您对这些数据源感到好奇,可以尝试使用Wireshark来分析数据包,了解它们的来源和目的地。
网页请求是http,8080估计是代理
TCP 连接时候的三次握手
三次握手原理:
第1次握手:客户端发送一个带有SYN(synchronize)标志的数据包给服务端;
第2次握手:服务端接收成功后,回传一个带有SYN/ACK标志的数据包传递确认信息,表示我收到了;
第3次握手:客户端再回传一个带有ACK标志的数据包,表示我知道了,握手结束。
其中:SYN标志位数置1,表示建立TCP连接;ACK标志表示验证字段。