accept获取外网ip(通过acl禁止某个ip地址访问)
时间:2023-10-29 15:23:57 浏览量:58
代理是什么?
代理实际上就是代理服务器, 代理服务器的工作机制很象我们生活中常常提及的代理商,假设你的机器为A机,你想获得的数据由B机提供,代理服务器为C机,那么具体的连接过程是这样的。 首先,A机需要B机的数据,它与C机建立连接,C机接收到A机的数据请求后,与B机建立连接,下载A机所请求的B机上的数据到本地,再将此数据发送至A机,完成代理任务。如图(图片有点丑):
为什么要使用代理?
我们在做爬虫的过程中经常会遇到这样的情况,最初爬虫正常运行,正常抓取数据,一切看起来都是那么美好,然而一杯茶的功夫可能就会出现错误,比如403 Forbidden,这时候打开网页一看,可能会看到“您的IP访问频率太高”这样的提示。出现这种现象的原因是网站采取了一些反爬虫措施。比如,服务器会检测某个IP在单位时间内的请求次数,如果超过了这个阈值,就会直接拒绝服务,返回一些错误信息,这种情况可以称为封IP。
这时候代理的作用就来了, 你封我的ip,我用代理以后,使用代理ip来请求数据最后返回给我,你没辙了吧,哈哈!!废话不多说,进入正题!
动态代理ip
动态代理,顾名思义,会变化的ip。通过拨号vps来实现。
VPS服务器,即VPS(VirtualPrivateServer虚拟专用服务器)技术,将部服务器分割成多个虚拟专享服务器的优质服务。每个VPS都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。用户除了可以分配多个虚拟主机及无限企业邮箱外,更具有独立服务器功能,可自行安装程序,单独重启服务器。通俗的来说,VPS服务器也就是虚拟的专用服务器,用户并接触不到物理上的机器,也不需要机器的物理硬件等设施负责维护等。
拨号vps服务器在vps服务器的基础原理 上添加了一个动态换IP的功能,行驶不定期更换用户的功能,常用与投票,刷单,批量注册微博,批量注册QQ等,所有你能想到使用IP的服务器,有很多人用这种功能抢手机抢票你能想到用IP赚钱的方式应该都是用的上。
拨号vps架设动态代理服务器
进群:960410445 一起交流 小编手把手教你搭建代理词 你截图给我就好!
在购买拨号vps的时候,选择预装centos7系统,这里还附带了拨号软件pppoe。(没有的话联系服务商装好)
下面来配置pppoe:
配置完成,
介绍三个命令:
pppoe-start 拨号
pppoe-stop 断开
pppoe-status 查看拨号状态
红箭头所指的位置是ip。
来测试一下是否可以连通网络。
ok,有网了。
代理选择使用TinyProxy。
yum安装:
[root@localhost ~]# yum -y install tinyproxy
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.cn99.com
* updates: mirrors.163.com
No package tinyproxy available.
Error: Nothing to do
新系统上yum源需要自己配置,上面报错是因为镜像源没有这个包。
添加 企业版 Linux 附加软件包(EPEL),企业版 Linux 附加软件包(以下简称 EPEL)是一个 Fedora 特别兴趣小组,用以创建、维护以及管理针对企业版 Linux 的一个高质量附加软件包集,面向的对象包括但不限于 红帽企业版 Linux (RHEL) 、 CentOS、Scientific Linux (SL)、Oracle Linux (OL) 。( https://fedoraproject.org/wiki/EPEL/zh-cn )
centos系统安装并启用epel源:
重新执行thinproxy安装命令:
配置代理,访问源限制和端口设置。
修改 Port 端口,默认为 8888
Port 8888
注释掉 Allow,表示允许所有人访问代理
#Allow 127.0.0.1
配置好了,启动tinyproxy。
tinyproxy 启动代理
killall tinyproxy 关闭所有端口(没有killall命令,安装yum install psmisc)
全部配置完毕,测试代理是否可用。pppoe-status查看ip,谷歌插件SwitchyOmega配置代理。
选择配置好的代理,能正常访问表示代理服务器搭建成功。
Python操作pppoe更换ip
python3环境安装
那顺便把pip3和redis(python操作redis模块)装了,下一步会用到python3操作redis。
搭建代理池(redis)
下载安装包
解压安装包并安装
tar xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make
make install
启动redis
redis-server
python操作redis写入ip
redis用的键值对,也可以用表写入,提取ip更方便。
这里的意思是删除数据库中的ip后20s后重拨,保证已经提取出去的ip有20s的响应时间来跑爬虫。
crontab设置定时任务
crontab -e
0 */1 * * * python3 /root/zhaozhi/IP.py & 1小时执行一次(测试好ip可用时间,自行更改)
多部署几个代理服务器,保证切换ip的断层会有ip可以提取