请教各位一个发包问题。
我要实现的需求是:
网络环境,我们的软件部署在单位网络内,采用旁路抓包技术,可以抓取用户互联网的数据包。现在有如下需求要实现的,一直没思路,请各位大侠帮忙。
1、如果用户访问(比如)www.sina.com ,假若该网站是单位不允许上班时间访问的,需要转向到公司网站中的一个链接,比如www.xxx.com\a.html 这个链接就是公司规定,上班时间不允许访问该网站。。
2、认证功能,用户第一次打开浏览器,需要给用户弹出一个认证页面,当输入的用户名和密码一致时才放行,否则不能访问互联网。
目前的软件是用C来做的,增加以上功能,如果用c实现,有无方案。
谢谢。。谢谢各位。。。
[解决办法]
有难度, 模拟TCP好难, 如果你做的程序能够抓到浏览器的connect请求,然后模拟与之三路握手并接受其HTTP请求,之后响应它一个HTTP Location重定向就行了。 所以你还需要在机器上跑一个web服务器,提供认证页面,完成认证过程,这个功能点很小,写一个C服务端就搞定了,页面是死的,放在文件里,你直接就是接受一个GET请求,把文件读出来发过去,还可能接受一个GET验证码的请求,你得构造COOKIE并且用文件维护一个SESSION记录下验证码,还得最终接受提交上来的账号密码验证码,你的服务端只要根据3个URL(认证页面,验证码图片,登陆按钮)做不同的事就行了,并不复杂。
话说我们学校的锐捷无线的认证页面超级难登,刷100次能出来5次认证页面。
[解决办法]