goodbarrow
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2011-12-07
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望14点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1753回复:5

哪位大侠搞过Imd的NAT,ftp协议怎么处理的,能讲一下吗?

楼主#
更多 发布于:2003-07-31 08:18
rt
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-07-31 08:47
刚做完,呵呵。
其实很简单,在FTP中第14个连接的时候,C会向S短发一个PORT 。。。的命令,告诉对方等下传输数据的端口号,你只要把这个端口改成NAT的端口和IP就可以了,但是数据的长度会变化,所以对这个连接以后的数据报TCP序号要修正。
这个很简单,但是写那写将IP和端口转成FTPcommand的时候花了我一天,郁闷。呵呵,
记得给分啊,我正争取高级会员ing
放弃瘟草,现吃李草
goodbarrow
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2011-12-07
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望14点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-01 17:32
刚做完,呵呵。
其实很简单,在FTP中第14个连接的时候,C会向S短发一个PORT 。。。的命令,告诉对方等下传输数据的端口号,你只要把这个端口改成NAT的端口和IP就可以了,但是数据的长度会变化,所以对这个连接以后的数据报TCP序号要修正。
这个很简单,但是写那写将IP和端口转成FTPcommand的时候花了我一天,郁闷。呵呵,
记得给分啊,我正争取高级会员ing


可能我比较弱,怯怯的问:你上面说得理论我明白,可是在中间层拦截到的是packet,此packet中的内容可能不是一个完成的port....命令。恐怕得拦截到完整的port....命令的时候才能作如你所讲的修改操作吧,要不然,我怎么知道此packet中的数据是什么东西,可能是其他的命令或数据呢!
Dino
驱动牛犊
驱动牛犊
  • 注册日期2001-08-07
  • 最后登录2007-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-08-01 17:47
我不明白你的意思了,难道你认为port命令的包可能出现被分片了?
Death is only the beginning
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-01 22:17
[quote]刚做完,呵呵。
其实很简单,在FTP中第14个连接的时候,C会向S短发一个PORT 。。。的命令,告诉对方等下传输数据的端口号,你只要把这个端口改成NAT的端口和IP就可以了,但是数据的长度会变化,所以对这个连接以后的数据报TCP序号要修正。
这个很简单,但是写那写将IP和端口转成FTPcommand的时候花了我一天,郁闷。呵呵,
记得给分啊,我正争取高级会员ing


可能我比较弱,怯怯的问:你上面说得理论我明白,可是在中间层拦截到的是packet,此packet中的内容可能不是一个完成的port....命令。恐怕得拦截到完整的port....命令的时候才能作如你所讲的修改操作吧,要不然,我怎么知道此packet中的数据是什么东西,可能是其他的命令或数据呢! [/quote]

PORT是不会分片的,因为他加起来没几个字节,不至于回超过1514
放弃瘟草,现吃李草
goodbarrow
驱动牛犊
驱动牛犊
  • 注册日期2003-07-24
  • 最后登录2011-12-07
  • 粉丝0
  • 关注0
  • 积分41分
  • 威望14点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-08-04 09:10
你说的对,此命令是不会分片。我只是瞎想罢了,具体还要到实践中去。
游客

返回顶部