原生socket穿透HTTP代理服务器


    WinInet库接口穿越代理服务器 曾经提到过WinInet穿透代理服务器可行(传输大文件或大数据包,不能保证续传),而原生socket时如果服务器需要认证则会失败,后来经过研究后,我们是搞定了的。下面简单说一下:
代理服务器(如ISA服务器)的认证种类有多中,如Basic、NTLM、Digest等单类或多类的组合。
1、Basic认证
     第一步、和服务器的初次数据交换后,检查包含"Proxy-Authenticate: Basic"的应答信息,则表示服务器可以采用Basic认证方式,当然也可能同时包含其他认证方式,只要通过一种方式认证即可。
    第二步、使用sUser、sPasswd信息的Base64位编码组合,再次和服务器进行交互(指明以Basic方式认证)。如果成功,则认证通过;否则,为用户密码信息错误;
2、NTLM认证
     第一步、和服务器的初次数据交换后,检查包含"Proxy-Authenticate: NTLM"的应答信息,则表示服务器可以采用NTLM认证方式,当然也可能同时包含其他认证方式,只要通过一种方式认证即可。
    第二步、使用sHost、sDomain信息的Base64位编码组合,再次和服务器进行交互(指明以NTLM方式认证)。如果成功,则成功则继续下一步;否则,为主机及域名信息错误;
    第三步、根据第二步获取的应答数据进行解析,并使用本地已知的sUser、sPasswd信息的Base64编码进行数据组装,再次和服务器进行交互(指明以NTLM方式认证)。如果成功,则认证通过;否则,为用户密码信息错误;
3、Digest认证
    如NTLM类似

这是几年前预研的结果,如有需要的朋友,可以和我联系,我帮着找找看。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pony12

助力1000篇OpenDDS文

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值