例如:三次握手过程中:
主机A向主机B 
发送TCP包,置SYN位 源端口:60  目的端口:1072B机的1720端口如果没有服务的话,应该返回一个TCP包
并置RST位那么该如何阻止B机发送这个TCP包呢?请各位大虾指教!!

解决方案 »

  1.   

    你在C机先sniffer到A发给B的数据,然后伪造一个回应报文,把RST标志置为1,就可以阻断连接了
      

  2.   

    同意楼上只有sniffer抓包实现了
      

  3.   

    up我主要是想通过B机让A机访问C机A,C 在不同网段中,而B机有两块网卡,分别连接A,C.不知如何发送TCP包使得A,C建立连接?各位大侠能给点思路吗?
      

  4.   

    使用Udp,就没有握手,握手自己控制!
    随便握,或者不握都有自主权!
      

  5.   

    看不太懂你到底要干什么?
    既然A要同C建立连接,为什么又要阻断B的连接呢?
    A和C连接可能要考虑穿透,用UDP就好了。或者就通过B(公网)转发。
      

  6.   

    我无法控制A,C端的数据输出
    如何用NAT呢?
    alec626(月吻长河)能说的详细一点吗 
      

  7.   

    我说的详细一些吧A,C上有两个同样程序想进行通讯但是不在同一网段中,无法直接通讯,于是想通过B机来进行,B机有两块网卡,分别连接A,C.我无法控制A,C端的数据输出(肯定有TCP包),那我该如何处理呢? kingzai()和各位大虾帮忙啊
      

  8.   

    我还是不太明白?
    1。如果是穿透,A和C在内网,可以考虑UDP,网络版曾经讨论过
    http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
    2。如果是通过B转发,相当与B起服务器的作用,B必须有公网地址,A,C和B通讯可以采用TCP,也可以采用UDP
      

  9.   

    A机上网卡的网络地址为192.168.0.1B机上的网卡1的地址为192.168.0.2,网卡2的地址为172.15.1.15C机上网卡的网络地址为172.15.1.20我的目的是:
    让A机上微软的NetMeeting软件呼叫192.168.0.2,从而使得C机上开着
    的NetMeeting软件回应,建立A,C连接,显然这要通过B机周转。我原来想通过在B机上sniffer,伪造数据包,把A传给B的数据包,拆包
    ,改IP,装包再传给C实现AC互通,UDP可以但是TCP不行,因为B机上没有
    Neetmeeting服务。建立TCP连接时B机会回一个TCP包给A,置RST位。而我
    通过snifferC机给B机的数据包,伪造一个TCP包,也回应给A机,但是置ACK位
    ,两个包矛盾,显然AC无法建立连接kingzai()和各位大虾帮忙给点思路吧
      

  10.   

    我总算看明白了,现在你要的是A(内网)和C(公网)直接建立TCP连接(如果C对A发起连接应该没问题把),而A和B的连接是要被RST包被阻断的,B和C的包可以正常发送。
    在我看来,比较难实现,主要是B发给A的RST包很难被阻断。开始我以为你是要做过滤,主动发RST包呢。现在的目的是要防止RST,比较难办(可能用防火墙可以阻断RST)。
      

  11.   

    多谢kingzai()代理服务软件是如何实现的呢,和这里
    的情况类似吗? 
      

  12.   

    http://search.csdn.net/Expert/topic/1877/1877652.xml?temp=.1260034
    你可以找个软件来试一下
      

  13.   

    http://blog.csdn.net/xfreedom/archive/2004/09/20/110159.aspx
    找到一篇BLOG,P2P 之 TCP穿透NAT
      

  14.   

    用我的防火墙开发包,不过现在还没有写完,可能在下个礼拜天之前会写完
    请关注
    http://www.kingsocket.com(还没有上传防火墙开发包)
      

  15.   

    我最近看了一下书,这个问题好象类似于实现一个NAT
    那么是不是要利用实现下层NDIS或者SPI大家给点意见吧
      

  16.   

    前几天有跟人讨论过这个,可以这样做。终端先传输给proxy,然后proxy通过80端口端口传给防火墙后面的tunnelserver,也就是http隧道。
      

  17.   

    kingzai() 我也有了一个方案,就是在B机上编一个
    类似NAT的程序来解决
    不知道你对编NAT有什么建议?