例如:三次握手过程中:
主机A向主机B
发送TCP包,置SYN位 源端口:60 目的端口:1072B机的1720端口如果没有服务的话,应该返回一个TCP包
并置RST位那么该如何阻止B机发送这个TCP包呢?请各位大虾指教!!
主机A向主机B
发送TCP包,置SYN位 源端口:60 目的端口:1072B机的1720端口如果没有服务的话,应该返回一个TCP包
并置RST位那么该如何阻止B机发送这个TCP包呢?请各位大虾指教!!
随便握,或者不握都有自主权!
既然A要同C建立连接,为什么又要阻断B的连接呢?
A和C连接可能要考虑穿透,用UDP就好了。或者就通过B(公网)转发。
如何用NAT呢?
alec626(月吻长河)能说的详细一点吗
1。如果是穿透,A和C在内网,可以考虑UDP,网络版曾经讨论过
http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt
2。如果是通过B转发,相当与B起服务器的作用,B必须有公网地址,A,C和B通讯可以采用TCP,也可以采用UDP
让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()和各位大虾帮忙给点思路吧
在我看来,比较难实现,主要是B发给A的RST包很难被阻断。开始我以为你是要做过滤,主动发RST包呢。现在的目的是要防止RST,比较难办(可能用防火墙可以阻断RST)。
的情况类似吗?
你可以找个软件来试一下
找到一篇BLOG,P2P 之 TCP穿透NAT
请关注
http://www.kingsocket.com(还没有上传防火墙开发包)
那么是不是要利用实现下层NDIS或者SPI大家给点意见吧
类似NAT的程序来解决
不知道你对编NAT有什么建议?