如何在同一台电脑上调试TCP连接?

如何在同一台电脑上调试TCP连接?,第1张

在服务端设置端口复用的选项,如:
setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char )val,sizeof(val);

有问题请继续追问。

你好,很高兴为你解答!
根据你的描述,只要你的服务器IP地址是公网的,就可以直接连,服务器一般放置在公网上,有固定的IP地址。
希望我的回答可以帮助你,安徽电信祝您生活愉快。

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:建立连接时,客户端发送连接请求到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:服务器收到客户端连接请求,向客户端发送允许连接应答,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的允许连接应答,向服务器发送确认,客户端和服务器进入通信状态,完成三次握手。
(所谓的三次握手就是要有三次连接信息的发送/接收过程。TCP连接的建立需要进行三次连接信息的发送/接收。)
-(void) print:(NSString) msg
{
NSLog(@"%@",msg);
}
printf("%d,%c\n",i,c)

首先你要明白路由是不是共享式NAT上网的,也就是说router port nat出去的数据是一直堆叠或者持续变动的,而不做端口映射基本没有实现的可能!
当然如果是静态NAT,那么直接做静态NAT就可以了!
如灰鸽子,是直接通过本地服务端(中灰鸽子端)连接广域网客户端(控制端),然后服务端和建立的联系。如通过80端口出数据,穿透防火墙等等。
你可以尝试修改数据包出去的port,同时在两个端进行修改!
-------------
抓取到数据包的时候注意地址段,关键在于让路由到router nat到数据包的时候,能找到你的主机A或者W。
你可以参照一些三层更新之类的软件。

有通过路由器,那就在路由器中设置端口映射,要求是电脑在路由器中获取一个固定的内网IP。由于家用宽带一般禁用了80和21这些常用端口,所以需要的是通过外网访问时,端口就不能是被禁用的端口,另外,家用宽带都是48小时更换一次IP,所以你就需要DDNS,比如花生壳动态域名。

已经设置的动态域名,如:dongtaiddnsnet

设置端口映射,需要通过远程链接访问家里的计算机(1001201),则在路由器中设置端口映射为远程访问端口(如:3390),目标计算机IP(1001201),目标计算机端口(3389,3389是远程桌面的端口)。最后你通过其他计算机远程桌面家里的电脑的时候,就只需要在远程桌面窗口输入:dongtaiddnsnet:3390就可以了

最重要的是你要有一个公网IP。

可能逻辑上有点混乱,对于映射,不同的路由器设置方式都是大致相同的,具体的那就自己查查自己的路由器怎么设置咯。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10283666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-07
下一篇 2023-05-07

发表评论

登录后才能评论

评论列表(0条)

保存