把纯真IP数据库文件qqwry.dat放到czip.py同一目录下。 1 #! country_addr + " " + area_addr 73 74 def dump(self, first, last): 75 ''' 76 打印数据库中索引为 _set_ip_range(R) 125 if self.cur_start_ip <= ip <= self.cur_end_ip: 126 address = ip = self.str2ip(ip) 139 self.get_addr_by_ip(ip) 140 range = self.ip2str = '14.215.177.39' 196 print(cz.get_ip_range(ip)) 197 print(cz.get_addr_by_ip(ip)) 运行结果: ?
相传纯真数据库 qqwry.dat 已经有很久远的历史了,相信也依旧有非常多网站使用该库来查询 IP,其中在两年前也开始正式的用到了,同样更庆幸的是 qqwry.dat 纯真数据库依旧保持着更新,并且免费 相信很多人对于查询 IP 可能都是使用的第三方接口,需求较大的可能还会使用付费的 IP 查询接口,然而对于像这样追求简单极致,并且不想付费的人来说,qqwry.dat 你可能就不会陌生了。 然而纯真网络官网提供的数据库需要本地安装软件才能获得最新的 IP 地址库,然后在通过软件安装目录找到 qqwry.dat 文件再去使用,手动更新就显得不太方便了,所以刚刚才更新用户中心的 IP 地址库, 不过还好,发现了一个 PHP 自动更新纯真数据库 qqwry.dat 文件的方法,通过以下代码的实现,你应该可以实现纯真数据库自动更新更能: <? php // PHP 纯真 IP 地址数据库自动更新功能 $copywrite = file_get_contents("http://update.cz88.net/ip/copywrite.rar"
限制功能TCP.INVITED_NODES=(127.0.0.1,IP1,IP2,……) #允许访问数据库的IP地址列表,多个IP地址使用逗号分开TCP.EXCLUDED_NODES=(IP1,IP2 ,……) #禁止访问数据库的IP地址列表,多个IP地址使用逗号分开 之后重新启动监听器即可。 1.4.3 利用防火墙 第3种是修改数据库服务器的IPTABLES(配置文件:/etc/sysconfig/iptables)来限制某些IP登录数据库服务器。 =(127.0.0.1,IP1,IP2,……) #允许访问数据库的IP地址列表,多个IP地址使用逗号分开TCP.EXCLUDED_NODES=(IP1,IP2,……) #禁止访问数据库的IP地址列表 第3种是修改数据库服务器的IPTABLES(配置文件:/etc/sysconfig/iptables)来限制某些IP登录数据库服务器。
有一部分网站是通过检测同一IP短时间内多次访问同一页面来进行反爬虫,为了应对这种反爬虫机制,使用IP代理就可以解决。可以利用scrapy写一个爬虫,爬取网上免费公开的代理ip,检测后全部保存起来。 有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib2中很容易做到,这样就能很容易的绕过这种反爬虫机制。 下面就详细说明一下scrapy抓取免费代理IP构建自有的代理IP池的过程: 以抓取西刺代理网站的高匿IP并存储到mysql数据库为例 西刺网:http://www.xicidaili.com/nn/ ? 填写settings.py文件中的数据库用户名和密码,之后在mysql中导入proxy.sql文件,数据表名称及属性如下所示: ? 运行scrapy: scrapy crawl xici ? 不到一分钟即可抓取3000多代理ip,妈妈再也不用担心ip被封啦,本文源码下载地址:http://pan.baidu.com/s/1c29kkMG,获取密码请在Python中文社区公众号底部回复代理二字
环境:Oracle RAC(11.2.0.3) 现象:通过scanIP连接数据库报错ORA-12514: ORA-12514: TNS:listener does not currently know 3.查看/etc/hosts的scan IP配置行: cat /etc/hosts 192.168.1.80 jyrac-scan 4.oracle用户登录数据库,配置remote_listener参数 The command completed successfully 再次测试通过scanip连接数据库已经ok。
墨墨导读:本文来自墨天轮读者投稿,分享了3种限制某个ip或某个ip段访问Oracle数据库的方式,希望对大家有帮助。 一、概述 本文将给大家介绍如何限制某个ip或某个ip段才能访问Oracle数据库 通过sqlnet.ora 通过/etc/hosts.deny和/etc/hosts.allow 通过iptables 通过/etc/hosts.deny和/etc/hosts.allow sqlnet.ora属于数据库层面的限制,但如果一个ip能够使用root或者oracle,ssh到这台数据库服务器的话,那么它依然能够访问数据库 为了避免这种情况,这时就需要通过/etc/hosts.allow和/etc/hosts.deny去限制某个ip或者ip段才能ssh访问数据库服务器 先删除前面实验添加的sqlnet.ora,然后重启监听 如果要限制其它ip对数据库所在服务器上的ssh连接,使用/etc/hosts.deny和/etc/hosts.allow 前面两个配合起来,基本上就能保证你的数据库安全了。
IP地址这个词我们经常听到,它具体是个什么东西这里就不谈了,建议去看一下本系列文章的《IP地址和MAC地址简介》一文。本文主要来区分一下公网IP、私网IP、动态IP、静态IP这四个概念。 先说公网IP和私网IP。 我们都听过IP地址,但对公网IP和私网IP可能就比较挠头了。把IP的问题放在一边,我们先说一下什么是公网,什么是私网。公网又名广域网、外网,指的就是我们平时说的互联网。 公网IP是在公网中使用的IP地址,私网IP是在局域网中使用的IP地址。 除此之外,A、B、C三类的所有其余IP都是公网IP。私网IP只会出现在私网内,公网IP只会出现在公网内。 公网IP和私网IP在使用上有什么区别呢?。 公网IP和私网IP说完了,现在来说静态IP和动态IP。这两个比较好理解,静态IP就是静止不变的IP,动态IP就是动态变化的IP。公网IP和私网IP都有动态和静态之分。
function convertip($ip) { $ip1num = 0; $ip2num = 0; $ipAddr1 =""; \d{1,3}$/", $ip)) { return 'IP Address Error'; } if(! ', $ip); $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3]; $DataBegin 地址,就能得到纯真IP数据库中相对应的地理位置了 例如: convertip(202.96.209.5) 返回的值为:上海市 电信 注:写有此方法的文件需和纯真数据库文件(QQWry.Dat 准备工作: 建议本地IP地址数据库,请到http://www.cz88.net/这个网站下载一个纯真IP数据库,安装完成后,到安装目录里把QQWry.dat文件取出来,这个就是我们想要的IP数据库了,放到你想要目录下
地址归属地 def curl_ip(ip): conn_req=urllib.request conn_pre=urllib.parse conn_res=urllib.response ip=%s' %(ip) req=conn_req.Request(url,None,headers) fb=conn_req.urlopen(req) return(ad[0]) fb.close() except Exception as e: print(e) #抓取结果写入数据库 'db':'数据库' } try: conn=sql.connect(**conf) cur=conn.cursor(buffered=True) 写入redis def redis_ip(ip): redis_w = redis.StrictRedis(host='服务器地址', port=服务器端口, db=0) redis_r
问题描述:创建postgres数据库之后,使用pg无法用ip地址登录 1.postgres的安装 官网下载地址(windows版) :https://www.postgresql.org/download 出现的问题 2.1 安装好了postgres数据库之后,发觉我们在pg4客户端上,无法使用ip地址登录,用ip地址登录会显示,找不到user 为.... database ....的错误。 这是因为我们安装数据库之后没有对电脑进行授权,如下: 找到postregs的安装目录,并进入pgsql\Data文件目录下,并进入 pg_hba.conf文件,修改如下配置(这个添加的是给访问权限的 ip局域网) ? 然后就可以在数据库工具上,以ip地址的形式访问了。 2.2 eclipse端,连接数据库运行出现错误 问题描述: ?
文章目录 转载自cpolar极点云文章:公网远程连接MongoDB数据库【内网穿透】 前言 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 简单几步实现MongoDB远程访问。 安装数据库 打开MongoDB官网https://www.mongodb.com/try/download/community,这里以windows版本为例。 内网穿透 本地连接没问题后,目前该数据库只能在局域网内被访问,不过我们可以使用cpolar内网穿透工具,将内网的MongoDB数据库映射到公网上,实现远程访问,不需要公网IP,也不用设置路由器。
一、背景 ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。想要安装使用一下,我选择了通过rpm安装。linux系统为centos7版本。 scp -r clickhouse/ root@ip:/developer/ 5、上传以后到上传目录下执行下面安装命令。有依赖顺序的,就是下面的安装顺序。 9、但是我们通过浏览器访问数据库的8123无法返回结果。 三、实现远程ip访问 1、首先关闭防火墙,我用的本机虚拟机,直接关闭防火墙并禁用了,假如用的云服务器的话看看安全组是否开启了8123端口. service clickhouse-server restart 4、再次通过远程ip访问,如下可以看到访问成功了。 5、同时我们通过postman,请求一下sql查询,正常返回了结果。 四、总结 以上就是clickhouse数据库安装部署并实现远程ip访问的所有内容,在这里记录一下,希望能够帮到大家 百度网盘clickhose rpm相关包软件地址如下。
def delete_ip(self,ip): sql ="delete from xiciproxy where ip='{0}'".format(ip) cursor.execute (sql) conn.commit() return True # 判断ip是否可用 def judge_ip(self,type,ip,port): proxy_url) try: proxy_dict = { type: proxy_url, # type 为https 或者http 数据库存储的 ip = ip_info[1] port = ip_info[2] judge_re =self.judge_ip(type,ip return self.get_random_ip() if__name__ =="__main__": Ip = IpUtils() print(Ip.get_random_ip())
动态IP特点:自动分配:由ISP(互联网服务提供商)通过DHCP(动态主机配置协议)自动分配给用户的设备。每次连接网络时,设备会从ISP的IP地址池中获取一个可用的IP地址。 不固定:每次连接网络时分配的IP地址可能不同,这使得动态IP具有一定的“匿名性”。无需手动设置:用户无需手动配置IP地址,设备会自动完成获取IP的过程。 节省资源:动态IP可以有效利用有限的IP地址资源,因为IP地址可以在不同用户之间共享。优点:安全性较高:IP地址的动态变化使得攻击者难以通过IP地址进行长期跟踪或攻击。 易于管理:用户无需关心IP地址的配置,ISP会自动处理。缺点:不适合对外服务:由于IP地址不固定,不适合需要长期稳定连接的设备,如服务器或远程访问设备。 静态IP特点:固定不变:由ISP分配给用户一个固定的IP地址,每次连接网络时都使用同一个IP地址。需要手动设置:用户需要在设备上手动配置IP地址(或通过路由器设置)。
///
原生 IP(Native IP) 是指由互联网服务提供商(ISP)直接分配给用户的 IP 地址,其归属地明确且未被标记为数据中心、代理服务器或云服务 IP。 以下是通俗易懂的讲解:一、核心特点归属地真实 原生 IP 的注册信息和地理位置与其实际使用地一致,例如: 美国原生 IP:由美国本地 ISP(如 Comcast、AT&T)分配,IP 数据库标记为美国 低风险标签 原生 IP 通常不会被标记为“数据中心 IP”或“代理 IP”,因此在某些场景下更稳定、不易被封锁。 游戏与低延迟需求 原生 IP 通常延迟更低(例如日本原生 IP 玩日服游戏)。 避免因 IP 被标记为代理导致游戏账号封禁。三、原生 IP vs. 本地 ISP 直接申请 家庭宽带或企业专线分配的 IP 默认是原生 IP(需确认 ISP 是否提供静态 IP)。 例如:申请香港 PCCW 的商务宽带,可获得香港原生 IP。
很多第三方的 IP 地址查询 API 接口,直接调用第三方的接口很方便,但也容易失效导致无法使用。因此今天来分享一个基于本地数据库的 IP 地址查询源码(亲测可行)! 模块代码 <? php /** * 纯真 IP 数据库查询 * 使用示例: * $ip = new IPQuery(); * $addr = $ip->query('IP地址'); * print_r ($addr); */ class IPQuery { private $fh; // IP数据库文件句柄 private $first; // 第一条索引 'qqwry.dat'; // 纯真 IP 数据库文件存放路径 private $dbExpires = * ; // 数据库文件有效期(10天)如无需自动更新 IP 数据库,请将此值改为 0 // 构造函数 function __construct() { // IP 数据库文件不存在或已过期,则自动获取 if
Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。 Linux(centos8)安装redis数据库 进入user下面的local目录,通常外部软件安装在此目录 cd /usr/local 下载redis wget https://download.redis.io 配置redis数据库 配置redis后台运行,编辑配置文件redis.conf vim /usr/local/redis-6.2.6/redis.conf 将daemonize no 改成daemonize 4.1 保留一个固定tcp地址 登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为远程Redis数据库保留一个固定tcp地址: 地区:选择China vip 描述:即备注,可自定义 点击保留
所以就引出了ip别名(IP aliases)和辅助ip(secondary IP addresses)的概念。 下面我们就看一下linux的网卡的ip地 址结构。刚才说了在linux中,一个网卡可以有多个IP,那么这多个ip有什么关系呢? IP机制没有区别,区别就是IP aliases显得不是那么直观,而secondary IP却是真正让应用看到了一个网卡的多个地址,比如你要是用IP aliases的话,有的时候你总是会问eth0:0是什么 这里可以做一个实验:首先用 ip addr add添加几个不在同一个网段的primary ip地址,然后再ifconfig一个和前面的ip都不在一个网段的ip,然后可以用ifconfig查看一下,发现不是刚刚用 secondary ip地址,那么恰好你用ifconfig设置的ip地址和那些secondary ip在一个网段,那么所有的secondary ip都将被删除,这些都是sencondary ip的规范决定的
前言:IPIP隧道是一种三层隧道,通过把原来的IP包封装在新的IP包里面,来创建隧道传输。 因为是三层隧道,在IP报文中填充的三层协议自然就不能是常见的TCP和UDP,所以,Linux抽象了一个隧道层,位置就相当于传输层,主要的实现就是在tunnel4.c中。 IPIP的接收 我们之前说到过,对应从网卡收上来的报文,过完链路层后就会到ip_rcv()中,大概是这样的路线: ip_rcv()->ip_rcv_finish()->ip_local_deliver 在发送时,要给原有的IP报文头前添加新的IP头,我们略过这个函数的前面的路由处理的部分,直接看关键的添加报文头的地方: max_headroom = (LL_RESERVED_SPACE(tdev 头字段 */ iph = ip_hdr(skb); iph->version = 4; iph-