阅读:1980回复:8
请教:passthru 中,我进行加密时PING可以通,但为什么TCP协议FTP不通?
我更改了WIN XP 中程序进行加密,但我只能相互PING 通,但FTP 就是不通,查看了一下,在程序中没有限定TCP协议的语句。不知为何,请高手赐教!
|
|
|
沙发#
发布于:2002-07-09 15:06
\"在程序中没有限定TCP协议的语句\"什么意思?
截一下包,看看是否算了tcp的checksum? |
|
板凳#
发布于:2002-07-09 15:21
swift 大侠:
其实我的所谓加密就是SEND 时在IP 头后增加30个字节,RECV时去掉这30个字节,并还原原先的IP包。这样的话还在发送时重新校验TCP的CHKSUM吗?如果是校验和的错,那我PING 时是通的。请指教。 |
|
|
地板#
发布于:2002-07-09 15:31
我也遇到过这个问题,ping是可能通,但tcp不通!
后来我查找原因,发现我在send里发的数据包的tcp校验和没有算,如果不加密,在其他机器上听到的数据包的tcp的checksum是已经算好的,所以我想这个tcp checksum可能是由网卡来算的,我又做了验证,发现有的网卡自己做tcp的checksum(如3com),有的网卡是由系统的ip层来做checksum(如ne)。 所以当你在ip头后面加入数据后,如果是我所说的原因,网卡定位不到tcp header,所以可能没有算checksum,你可以查一查,自己做个 checksum函数来试试! |
|
地下室#
发布于:2002-07-09 18:01
我也遇到过这个问题,ping是可能通,但tcp不通! hello2002兄: 你如果没有注意到checksum问题。。。。。。。。。 那,这肯定是问体的一个重要的方面。。。。。。。。。 |
|
|
5楼#
发布于:2002-07-18 00:17
swift兄:假设网卡定位不到TCP头,我想只要它不乱改就行了,肯定也能通.不过它会不会乱改呢?请教.
hello2002, 把MTU改小,通了别忘了谢我。。。。。 哈哈 |
|
|
6楼#
发布于:2002-07-18 10:00
呵呵,这我倒没试过,有可能会,如果ip头的protocol里指定了tcp!
所以最好在前面再加一个头,比如udp头,然后把你加入的头和后面所有的数据当成udp的数据,这样就可以了! 如果不这样,可能会有nat问题! ipsec的nat问题就是这样解决的! 不改mtu也可以,passthru下可以分片发包! |
|
7楼#
发布于:2002-07-20 09:07
哎,也不是个办法,始终是个难题,这样好像是解决了nat,但已无法实现完整的ipsec. 怎样保护ip地址呢? 嗬嗬! |
|
|
8楼#
发布于:2002-07-21 13:01
呵呵,是呀,在通道建立前,要有一种ip地址获取技术,可能没有那么安全,但也可能是解决nat的一个唯一办法了!
但对ip地址的保护并不完整! |
|