服务器端LISTEN 在客户端(内网)发起一个TCP请求。TCP连接建立之后,一个内网和服务器端的连接就建立了。对于服务器,他并不知道真正和谁建立的连接。
他所知道就是和内网的网关的一个端口号建立的连接。
所以他知道这个IP和端口号。现在的问题,如果一个第三方的用户知道了这个IP和PORT,他能否参与这个SOCKET
也就是他可以不可以往这里发消息,而客户端是否可以收到?如果这个方法可行
我还想知道,这个连接本来是服务器端LISTEN的,是否做到客户端LISTEN?
也就是说,在服务器端终止这个连接后,网关的IP上的PORT任然保持作用
客户端如果保持这个连接,然后别人继续向这个IP的PORT发消息,客户任然能收到?
 

解决方案 »

  1.   

    对,只就是spoof和sniffer,是黑客常用的手段。你用这些做什么?学习黑客么?sniffer原理很简单,将网卡设为混杂模式就可以了,
    spoof原理稍微复杂一点:)还有就是像楼上说的那样,你对网络认识还不够啊。继续努力
      

  2.   

    说的简单点,就是两个内网之间如何利用一个外网服务器来通讯。
    而且不需要sniffer
    难道QQ是每个网关都来个sniffer吗?
      

  3.   

    别把 QQ 想的那么简单 据我估计,QQ 的工作过程是这样的:当你登录QQ的时候,其实是登录到腾讯的服务器上,服务器记录你的IP和使用的端口号(如果是内网则当然记录网关地址和使用的端口号),然后把你的好友在线的记录信息发给你.自然,你可以直接向所记录的地址和端口发消息.当网络不通或不在线时,不将该人信息发给你,所以有"通过服务器中转"字样出现,通过服务器发送你的消息.understand?
      

  4.   

    楼上的,我也这么想的
    关键是这句话
    “务器记录你的IP和使用的端口号(如果是内网则当然记录网关地址和使用的端口号),然后把你的好友在线的记录信息发给你.自然,你可以直接向所记录的地址和端口发消息.
    ”是这样的吗?网关可以自动把发到这个端口的消息发到qq客户端吗?是如何做到的?
      

  5.   

    我用WINSOCK控件的UDP协议和一台局域网内的计算机进行通信,
    当局域网内再启动一个这样的程序时, 第一个确收不到消息了,被第二个接收了TCP不太清楚,我用TCP协议和局域网内的一台计算机连接,它当服务端,我却连接不到
    出现拒绝连接。