您的位置:首页 > 理论基础 > 计算机网络

Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头

2012-04-10 00:00 471 查看
本实验操作系统选用 CentOS release 5.6 (Final)
实验目的实现 Squid 代理服务器 编译源码 伪造HTTP_X_FORWARDED_FOR 请求头 .使其显示任意IP

过程如下:

1.下载对应系统的squid源码版本
Squid源码连接:http://www.squid-cache.org/Versions/

本次实验下载:http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE21.tar.gz

命令: wget http://www.squid-cache.org/Versions/v2/2.6/squid-2.6.STABLE21.tar.gz
2.解压修改编译源码 一次执行如下命令

tar xzf squid-2.6.STABLE21.tar.gz

cd squid-2.6.STABLE21

修改代码文件 http.c

/* append X-Forwarded-For */

if (opt_forwarded_for) {
strFwd = httpHeaderGetList(hdr_in, HDR_X_FORWARDED_FOR);
strListAdd(&strFwd,"112.121.182.45", ',');
httpHeaderPutStr(hdr_out, HDR_X_FORWARDED_FOR, strBuf(strFwd));
stringClean(&strFwd);
}

./configure --prefix=/usr/local/squid --disable-internal-dns
make
make install
3.设置配置文件

/usr/local/squid/etc/squid.conf 如下配置

visible_hostname nginxs.com
http_port 3128
icp_port 3130
cache_log /dev/null
cache_store_log none
pid_filename /var/run/squid.pid
maximum_object_size 32768 KB
acl all src 0.0.0.0/0.0.0.0
http_access allow all
icp_access allow all
dns_nameservers 8.8.8.8
header_access Via deny all

chmod -R 777 /usr/local/squid/var

/usr/local/squid/sbin/squid -z

/usr/local/squid/sbin/squid start

echo "/usr/local/squid/sbin/squid start" >> /etc/rc.local

vi /etc/rc.local

不出意外 现在可以打开IE 挂上代理IP测试了

对于修改之后重新编译
make uninstall
make clean

对于启动出现错误 squid: Cannot open HTTP Port
原来是Selinux防火墙阻止了,把SELinux关闭掉之后,便可以正常启动squid服务了!

vi /etc/selinux/config
改成SELINUX=disabled

header_access Via deny all
header_access X-Forwarded-For deny all
header_access Server deny all
header_access X-Cache deny all
header_access X-Cache-Lookup deny all
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: