网站首页 包含标签 IP 的所有文章

  • 默认路由是什么,凭什么它就行?

    看资料就是说路由表没有就发给默认路由,路由表没有不是正常情况吗?默认路由到底是什么?往外发是哪里?是上一级路由吗?一直到运营商的路由服务器吗?   0.0.0.0/0就是默认路由,它指向的是默认网关,即Default Gateway。为了解释清楚这几个字,讲个小故事吧。 有一天梁思申怎么也上不了网,于是给宋运辉打电话请求帮忙。宋运辉到了一看,呀,你的无线路由器没有开啊,那怎么上网啊? 梁思申抿嘴一笑,宋运辉将无线路由器的电源打开。过了几分钟,路由器启动完毕,梁思申的电脑就可以上网了。 梁思申:宋大厂长,教教我一点IT知识呗,下次遇到网络问题,我自己就可以解决了。 宋运辉:这还不简单,无线路由器家庭网络的网关(Default Gateway)。家里的电脑、IPAD、手机统统要通过这个网关与Internet通信。你把网关的电源关闭了,那你还怎么上网呢? 梁思申:懂了。听说每个电脑还需要一个IP地址才可以上网,那又是怎么回事呢? 宋运辉:你家里那么多手机、电脑,没有IP地址怎么区分每个设备呢? 梁思申:好像是的。那每一个电脑的IP地址又是怎么来的呢? 宋运辉:无线路由器内部运行一个程序叫DHCP服务器,只要无线连接上它,就可以给电脑动态分配一个IP地址以及其它上网信息。你的电脑获得的IP信息如下:  IP地址 =10.1.1.2 网络掩码 =255.255.255.0 默认网关 =10.1.1.1 DNS服务器 =10.1.1.1  你的电脑也不是吃素的,它会根据以上信息生成4条路由表条目:  10.1.1.2 255.255.255.255    本地链路(下一跳)   ---- >  我自己 10.1.1.0 255.255.255.0         本地链路(下一跳)  ----- >  局域网,包括网关 0.0.0.0   0.0.0.0                     10.1.1.1 (下一跳)   ------>  互联网 255.255.255.255 255.255.255.255  本地链路(下一跳)   ------>  广播地址,局域网所有主机,包括自己  梁思申:这个路由表看起来好难啊,解释解释呗。 宋运辉: Ping 10.1.1.2 时,使用路由1,这很好理解,自己与自己的本地通信。 Ping 10.1.1.1 时,使用路由2,同一网段的通信。 Ping 8.8.8.8 时,使用路由3,即默认路由,不同网段的通信。即你的主机与8.8.8.8主机不在一个网段。 Ping 255.255.255.255 时,使用路由4,广播通信,按照规则,这个网段(10.1.1.0/24)的主机都应该回复你,包括自己的主机。   梁思申:好像明白了。每次通信采用什么路由条目,是根据目的IP与路由条目的匹配度,匹配度越长的,越优先使用。如果没有匹配到,那么就使用0.0.0.0/0这条默认路由,做为最后的救命稻草,对吗? 宋运辉:看来你的小脑袋瓜不笨啊,一教就会!那我来考考你,如果DHCP服务器给你的电脑分配的IP参数少了一个信息,默认网关没有分配,你的电脑还能访问互联网吗? 梁思申:那就不能了。我的电脑没有了这条默认路由(0.0.0.0/0)。 宋运辉:很好。那电脑没有默认路由了,会怎么处理上网的报文呢?  梁思申:我猜猜,应该全部被扔了? 宋运辉:回答正确!再考你一个问题,你发现路由3与其它几条路由相比,是否有点另类? 梁思申:路由3 的下一跳和别的路由不一样。路由3 的下一跳 = 10.1.1.1,这个10.1.1.1应该就是路由器的IP地址,对吗? 宋运辉:是的。意思是当你Ping 8.8.8.8 这条命令产生的报文,需要发给网关10.1.1.1。 梁思申:Ping命令产生的报文,目的IP = 8.8.8.8, 源IP =10.1.1.2,那怎样才能将这个IP报文发给网关10.1.1.1呢? 宋运辉:这里有一个小花招。如果你的电脑将目的IP 修改为10.1.1.1, 那是可以将报文发给网关10.1.1.1。可是那不就相当于在 Ping 10.1.1.1了吗?并不是Ping 8.8.8.8的,对吗? 为了解决这个小难题,你的电脑只要将目的MAC,填写为网关的MAC地址即可。 所以你的电脑需要发ARP广播,请求网关10.1.1.1的MAC地址。获得了网关的MAC地址之后,一个神奇的报文就诞生了。  目的MAC= 网关10.1.1.1的MAC地址 源MAC  = 10.1.1.2 的MAC地址 (梁思申的电脑MAC地址) 目的IP =8.8.8.8 源IP=10.1.1.2  (梁思申的电脑IP地址)  当这个报文被网关(无线路由器)网卡成功接收,无线路由器也要查路由表,最后也没有匹配到,那么只好使用最后的救命稻草:0.0.0.0/0,这条路由指向ISP。同理可得,将IP报文发给ISP路由器。...

    2021-04-17 713
  • 某公司网络地址是202.117.240.0,被划分成16个子网,每个子网的子网掩码是多少?

    现在来讨论这个小问题,202.117.240.0这个是一个地址段,不是一个IP地址。 202.117.240.0网络的掩码是多少? 网络掩码能是255.255.255.255?如果是一个IP地址,那么应该写成 202.117.240.0/32,表示IP= 202.117.240.0属于网段202.117.240.0,这个网段只有一个IP地址,即202.117.240.0。 很显然,一个IP地址,无法平均分成16个子网。一个网段地址至少要包含16个地址,才有可能被16除,那么满足这个条件的网段要至少包含16个IP地址。 通过这篇文章的介绍知道以下信息: 202.117.240.0/32  这个网段有1个IP地址;202.117.240.0/31  这个网段有2个IP地址;202.117.240.0/30  这个网段有4个IP地址;202.117.240.0/29  这个网段有8个IP地址;202.117.240.0/28  这个网段有16个IP地址; 202.117.240.0/28黄色加亮的满足划分子网的能力,因为它包含16个IP地址,平均分成16个子网,每个子网包含一个IP地址,这16个IP地址的样子应该是这样的: 202.117.240.0/32202.117.240.1/32202.117.240.2/32202.117.240.3/32202.117.240.4/32。。。 202.117.240.13/32202.117.240.14/32202.117.240.15/32 一共16个IP地址。 继续玩上面的游戏,将网络掩码从28减小为27。202.117.240.0/27  这个网段有32个IP地址。32也可以被16整除,没有余数。 202.117.240.0/27一共32个地址,平均分成16份,每份的个数=2,用网络掩码来表示:202.117.240.0/31202.117.240.2/31202.117.240.4/31。。。202.117.240.28/31202.117.240.30/31 继续上面的游戏,将网络掩码从27减小为26。 202.117.240.0/26  这个网段有64个IP地址。64也可以被16整除,商=4,余数=0。 202.117.240.0/30202.117.240.4/30。。。202.117.240.56/30202.117.240.60/30 继续上面的游戏,将网络掩码从26减小为25。 202.117.240.0/25  这个网段有128个IP地址。128也可以被16整除,商=8,余数=0。 202.117.240.0/25被切割成16个子网,分别如下: 202.117.240.0/29202.117.240.8/29 。。。202.117.240.112/29202.117.240.120/29  继续上面的游戏,将网络掩码从25减小为24。 202.117.240.0/24  这个网段有256个IP地址。256也可以被16整除,商=16,余数=0。 202.117.240.0/24被切割成16个子网,分别如下: 202.117.240.0/28202.117.240.16/28202.117.240.32/28202.117.240.48/28202.117.240.64/28202.117.240.80/28202.117.240.96/28。。。202.117.240.208/28202.117.240.224/28202.117.240.240/28 还能继续玩吗?不能再玩了,因为再玩就把别人家的IP地址,分给了自己的孩子。让咱们试一试。 网络掩码从24减小为23。 202.117.240.0/23  这个网段有512个IP地址。512也可以被16整除,商=32,余数=0。 202.117.240.0/23被切割成16个子网,分别如下: 202.117.240.0/27 (自家的IP地址)202.117.240.32/27 (自家的IP地址)202.117.240.64/27 (自家的IP地址)202.117.240.96/27 (自家的IP地址)202.117.240.128/27 (自家的IP地址)。。。202.117.240.224/27 (自家的IP地址)202.117.241.0/27 (灰色部分,从这里开始都是别人家的IP地址)202.117.241.32/27。。。202.117.241.192/27202.117.241.224/27 所以,将202.117.240.0平均分成16个子网,202.117.240.0默认使用/24掩码,每个子网的掩码= “/28”。在没有约束网络掩码= /24的前提下,使用/28、/27、/26、/25也是可以的。使用/28表示该公司只拥有16个IP地址,使用/24表示该公司拥有256个IP地址。...

    2021-03-15 584
  • 为何Ping不通电脑的公网IP?

    为什么我知道了自己pc的公网ip,还是ping不通呢?通过这个网站获得的ip www.ip138.com,并不能ping通。然后我在pc开了一个udp客户端进程,远程服务器也开了一个udp服务端进程,客户端发包给远程,可以收到回应,远程显示请求的ip也是对的。然后我在远程服务器开了一个客户端进程发包给我pc的ip,依旧没有反应。这是为什么呢。我电脑能看百度的网页说明我电脑的ip是有效的,百度也是可以响应。为什么反过来就请求它就卡住了? 为何Ping不通自己的公网IP?默认读者有NAT的基础知识。如果没有,可以在博客里找NAT章节阅读。 ISP对于出网(outbound)流量,需要在ISP网关上用自己的外网接口(Internet facing interface)的IP地址来替换IP报文的源IP地址,并将创建的替换关系以NAT表的方式下压到硬件FIB表里。当Ping报文的回复报文返回时,在硬件芯片匹配到刚刚生成的FIB表,所以返程流量可以进来,并最终到达你的电脑,那么你就可以Ping通。 为何Ping不通呢?网关禁止Ping,其实就是一个Inbound方向的ACL Deny过滤列表,这个ACL列表比FIB表更先看到Ping的回复报文。由于拒绝操作,报文被丢弃,所以无法Ping通。 为何可以访问远程UDP服务器,而远程服务器作为客户端却无法访问我电脑上的服务器? NAT网关,默认允许由内网(inside)主动发起的流量,而拒绝由外网(outside)主动发起的流量。 什么是内网(inside)主动发起的流量?你用电脑(inside)访问远程(outside)服务器,流量是内网的电脑触发的。 什么是外网(outside)主动发起的流量?远程服务器作为客户端(outside)访问你的电脑(inside)服务器,流量是外网的电脑触发的。 其实已经回答了你的第二个问题。当允许内网(inside)主动发起的流量,潜台词是,同时还允许返程流量。 远程服务器如何才能访问你的电脑呢?需要你的电脑在NAT网关上主动创建一个FIB表,一个FIB表条目其实就是一个小门,这个小门只允许曾经从这个小门出去的人,才能进来。如果不是从这个小门出去的人,对不起,无法进入。 这个小门其实就是一张转换表,假设你的电脑IP =192.168.1.2 , 使用2222端口访问服务器IP= 3.3.3.3 ,端口3333。  NAT网关生成的NAT表(192.168.1.2/2222, 3.3.3.3/3333)---(1.1.1.1/56789,3.3.3.3/3333)。 服务器看到的IP报文来自于1.1.1.1/56789。 NAT网关上小门的口令就是(1.1.1.1/56789,3.3.3.3/3333)。 服务器只要使用(3.3.3.3/3333)做为源IP/端口号,使用(1.1.1.1/56789)做为目的IP/端口号的IP报文,就可以从小门进入。 为了让小门永远敞开,需要双方用keep alive周期性刷新,否则小门会在没有流量刷新的情况下而超时删除,那么远程服务器的流量再也无法进入。只有让客户端主动发起流量,再创建一个小门才可以。...

    2021-03-10 812
  • 为何主机的IP地址和网关一样还能上网?

    为什么IP地址和网关一样还能上网,这样默认路由不就是自己了吗? 电信的网,固定IP,给了一个公网地址,IP地址(中间隐藏了):60.*.*.239,掩码:255.255.255.0,网关:60.*.*.239,网关的地址和IP是一样的,这样的话默认路由的下一跳不就是自己了吗,但是可以上网,百度搜索IP显示的地址也和电信给的一样60.*.*.239。 这里的网关,可以是任何IP地址,如果你喜欢,可以换成6.6.6.6或8.8.8.8等幸运数字也是可以上网的。 为什么呢?这里使用了PPPoE拨号技术,在这台网络设备与电信NAS网关之间动态创建了一条P2P(Point to Point)的隧道。隧道的本地虚拟接口假设为VA1,所有非60.x.x.0/24网段的流量都会通过VA1接口流出本地。 为何要从VA1流出本地?因为系统创建一条默认路由,类似于: 0.0.0.0/0  ------------ >   VA1 VA1其实类似与ethernet接口。当我们使用ethernet接口来上网时,IP报文需要通过ethernet接口流出时,ethernet接口必须做的一件事是封装(Encapsulation): Ethernet+ IP报文 有读者说,封装之前,至少还需要目的MAC地址,不是吗?是的,需要ARP广播来发现网关的MAC地址,然后“Ethernet + IP报文“就可以流出网口了,对吗? Okay,当用户的IP报文需要从VA1接口流出时,VA1接口必须做的一件事也是封装: PPPoE + IP报文 然后呢,这个“PPPoE + IP报文“能长出翅膀飞走? 不能。 既然不能,那么这个报文最终还是要乖乖地从ethernet接口(网口)这个物理接口流出。既然要从ethernet接口流出,一定要遵守ethernet接口的潜规则,必须完成封装: Ethernet + PPPoE + IP报文 这里ethernet封装也需要目的MAC地址,对吗? 是的。 是否也需要使用ARP广播来发现NAS网关的MAC地址? 不需要。 为什么? 因为PPPoE握手协商阶段,已经通过Discovery、Offer等报文提前获得了PPPoE服务器(NAS网关)的MAC地址。既然知道了,就没有必要ARP广播了。 于是就发生了神奇的一幕,报文最终通过ethernet接口流出,但是竟然没有使用ARP广播。 当报文顺着ISP的接入网络一路流到NAS网关时,NAS网关干两件事:  剥离Ethernet封装,因为目的MAC地址是自己的,否则直接丢弃 剥离PPPoE封装,根据剩下的IP裸报文继续路由转发 网关的地方既然任何IP地址都可以,那能否是空白的? 应该不可以,如果空白,将不会有上文那条默认路由。 最后一点,NAS网关的下行方向的路由是什么样子的? 60.x.x.239/32  ------------ >   VAn 这里的网络掩码为何是32,而不是24? 欢迎加入交流群一起讨论!...

    2021-03-04 978
  • 各种符号转数字与快速获取 IP

    今天我们来看两个很有用的小技巧。 奇形怪状的数字转阿拉伯数字 我们知道,在某些场景下面,有些人会使用各种奇奇怪怪的符号来表示数字。例如有些人写自己的 QQ 号,是这样写的: 加扣:五⑦捌二3玖 对于这种奇奇怪怪的数字,如果我们想要批量转化为数字,可能要提前创建一个字典来映射: {'一': 1, '二': 2, '三': 3, ...} 显然,这样写起来非常麻烦。那么有没有什么办法来解决这个问题呢?实际上 Python 是认识这些表示数字的符号的,我们不需要提前设置任何映射,Python 自动就能转换。例如: from unicodedata import numeric print(numeric('五')) print(numeric('⑦')) 运行效果如下图所示: 所以,对于上面这种特殊的数字,我们可以很容易地转换成阿拉伯数字: from unicodedata import numeric data = '五⑦捌二3玖' result = 0 for char in data:     result = 10 * result + int(numeric(char)) print(result) Linux 如何快速获取本机 IP 字符串 在服务器上,有些脚本在运行的时候,需要传入它所在服务器的 IP 地址。但这些脚本具体运行在哪个服务器上,这是由 K8S 这类的东西管理的,我们提前不知道脚本会运行在哪个服务器上,所以不能提前设置。 如果你的脚本是 Python 开发的,那么显然你可以直接在 Python 里面获得当前服务器的 IP 地址。但不是所有编程语言都像 Python 这么方便。而且有时候你是通过.sh文件来调用开源项目。 所以,如何使用shell 命令获取 IP 地址呢? 老版本的 Ubuntu 可以使用ifconfig命令查看当前 IP,如下图所示: 新版本的 Ubuntu 可以使用ip addr,如下图所示: 无论是哪种方法,如何把其中的 IP 地址提取出来呢?这个时候我们可以使用grep配合awk实现。大家可以试一试,如何写才能把其中的10.0.0.4。 但实际上,我们有一种更简单的方法: hostname -i 运行效果如下图所示: ...

    2021-01-05 449
  • IP地址精准查询

    很多时候我们需要定位IP所在的物理位置,而这个工具可以直接到你家门口。 当前互联网的基石便是TCP/IP协议,而虚拟中的IP地址和现实中的地址往往难以对应,而这个站点,不但提供了IP地址所在的真实地址位置,还对该IP是否为真人用户使用的做出了猜测和标注,为IP的溯源和价值提供了参考依据。 关于IP定位,最早是通过运营商实现,每个运营商申请到的ip段,在某个范围内使用。因此早期只能是国家为单位的基础数据。对于比较大的国家,就进一步划分,比如,中国某通讯公司(不打广告),固定将某些ip分配某些机房使用,而这些机房则具备地域属性,因此就可以知道某些ip的位置是哪个省市区。再进一步,网上有种测算路由的方式进行定位,就是由大范围逐个跳转,跟踪路由。从而对比找出ip所在的小范围。 如今,网络铺设已经有个相当多的特性,比如: A.国内的某大运营商,ip资源够用,直接给用户分配公网ip。我以前就在这种网络下用动态域名工具玩过网站。 B.部分运营上为了缓解ip资源不足问题,某个大范围使用代理转发方式,给到用户的是私网ip,用户最终用代理的ip池的ip访问公网。 C.电话运营商,ip资源利用率过低,几乎是一个省份用一个ip池进行代理给用户的手机网络上网 随着大数据发展,有些公司做了大数据匿名收集数据,数据实时分析。因此可以将手机收集到的精准GPS数据和当前所用IP数据成对上报给后端服务器,运算过之后,就可以得出某个IP的分布范围数据。 误差说明: 对于上述A的情况,精确度可以达到几十米 对于上述B的情况,可能得覆盖一个城市的范围 对于上述C的情况,往往是一个省份的误差程度 因此,对于有线宽带用户,分配了相对固定的公网IP,用户在这个线路下有放置了wifi无线路由器,wifi下有接入了手机用户,手机里运行了服务,比如地图,或者地图SDK。其定位精度就可以达到几十米范围。对于这种数据,只有bat这种大头才能实现的了这个规模的数据手机,因此准确度几乎无法被超越,更大的互联网公司除外。 关于精准度问题,和其他家相比最大的优势就是钓鱼链接,使用钓鱼链接定位的位置可以直接到你家楼下,精度很高。如果对方刚刚重新获取公网IP,那可能精准度稍差,但这种情况并不是很常见。 钓鱼链接用起来也很简单,通过IM、邮箱等方式发送过去,对方一打开你提供的链接,你就能获取到对方的IP地址,还有相当详细的定位信息。使用生成Key功能,输入一个自己想要使用的Key,然后将生成的链接发送过去,就可以等着查看了。 需要的小伙伴在交流群内回复IP精准查询获取地址 ...

    2020-11-19 1012
  • 常用的几种IP定位

    这里我总结了几个方法依次说明(按精准度排名) 1.GPS定位 2.IP定位 3.路由器mac定位(BSSID) 4.手机号查归属地 主要方法就这几种当然可能也有其他的方法这里不一一列举了 一、先来介绍GPS定位,GPS即全球定位系统 (Global Positioning System,GPS)是一种以空中卫星为基础的高精度无线电导航的定位系统 使用条件:获取了对方的经纬度 查询地址:http://m.gpsspg.com/maps.htm 如果想要获取对方的GPS地址前提是对方开启了GPS位置权限,这里我们可以通过网页钓鱼的形式来获取 二、其次则是IP定位,IP即是Internet Protocol(网际互连协议) 使用条件:拥有对方的IP地址 查询地址:https://chaipip.com/ip.php 关于IP定位,最早是通过运营商实现,每个运营商申请到的ip段,在某个范围内使用。 因此早期只能是国家为单位的基础数据。 对于比较大的国家,就进一步划分,比如,中国某通讯公司(不打广告),固定将某些ip分配某些机房使用,而这些机房则具备地域属性,因此就可以知道某些ip的位置是哪个省市区。 在进一步,网上有种测算路由的方式进行定位,就是由大范围逐个跳转,跟踪路由。从而对比找出ip所在的小范围。 随着大数据发展,百度等平台做了大数据匿名收集数据,数据实时分析。因此可以将手机收集到的精准GPS数据和当前所用IP数据成对上报给后端服务器,运算过之后,就可以得出某个IP的分布范围数据。 这样使得IP定位得以定准到区级甚至到街道 获取对方ip可以通过QQ微信等社交平台发送包含有获取ip的链接进行获取上传数据库,获取到的链接可以到百度进行查询 三、接下来是mac地址定位 使用条件:已知一台WLAN热点设备的mac地址 查询地址:https://www.opengps.cn/Data/WIFI/Search.aspx 关于查询结果: a,不是所有的wifi都能被查询到位置。 b,使用年限越 QQ交流群:641912805 ...

    2020-03-16 606
  • 防不胜防的网络定位套路

    其实IP定位是不精准的,特别移动设备的IP,因为我们移动设备的IP都是由运营商临时分配的,然而一个运营商dhcp服务器分配服务的地址范围大概是四十千米到五十千米。但是遇到社会工程学攻击,哪怕你是移动设备的IP,如果收集到大量关于你的个人信息,通过分析能判断出你所在的省份以及城市 QQ抓包大法 该方法是通过语音电话进行抓取IP地址的,操作方法给目标拨打语音电话,或者让对方查看你的分享屏幕,远程协助等方式。如果对方是一个程序员或其他技术员,告诉他你遇到了一个难以解决的问题,需要对方的帮助。并且告诉他有个文件要发给你,上电脑接收,接着这个时候拨打一个语音电话过去,一般人都会直接用电脑接通.....这时候IP地址就暴漏了 如果是手机在线的话,像上面所说到的,移动设备IP地址不精准。 QQ探测IP大法 这个方法比较常见,至于是哪个软件我就不说。它的探测方法跟抓包大法差不多,但是它的分为免费用户以及收费用户,免费用户只能通过文件传输语音通话方式去探测IP,收费用户可以通过分享音乐方式去探测,就讲讲收费用户的探测方法 在这里我想起了一个人,不提他名字了也是玩社工的,当时用小号加了他QQ没一会就发了一个探测IP地址的音乐过来,汗...心里感觉非常不舒服,这人是有毒吗谁都要探测一下才舒服,要不是挂了国内代理,地址差点就暴漏了,他以为这就是我的地址... 就是上图这一条Hello,world!的音乐探测信息,如果你点进与他的对话框,你只要打开对话框了,他那边就可以探测到你的IP地址了,不需要你打开去看.. 微信探测大法 微信探测其实跟第二个探测QQIP方法比较相似,首先工具会生成一个链接,打开链接之后也是一个音乐,再把这个音乐分享给目标 也同样不需要对方打开,他只要看到这条信息就能探测到..并且你还可以撤回!这才是最可怕的,无形定位最为致命.... 定制版的网页链接获取用户地理位置 经过一个朋友介绍,某个群的群主可以为你定制一条获取用户地理位置的链接,这一条链接可以是任何链接,比如:腾讯的游戏活动,天猫京东主页/商品信息 定位链接可以插入任何网页,比如一些游戏活动,当他提示要获取用户地理位置,一般人觉得没问题就点同意了,点击同意之后就不用说啦,自然是地理位置暴漏了,这个GPS获取的位置可比IP地址精准度高很多很多,这些网页定位方法全都来源HTML5提供的一个接口,像比较多人在用的定位X 最低充值一百块钱起,可以说是很坑的了! 后话 以上所述的几个定位套路是比较常见的,还有一部分小众定位方法,这里不多讲。 怎么样才不会让自己的IP地址暴漏这个问题,养成科学上网的好习惯,以及一些陌生人发来的链接不要点....隐私保护的问题,说起来一大堆,留着以后有机会再说吧 ...

    2020-02-25 1026
  • 最新ip探针位置源码

    最新ip探针位置源码附教程小白可搭建 适合各类网络小白学习 0基础建站 教程之前可能好多人不知道 ip探针是啥 探出来ip可以干嘛? 等等问题一个一个一个来 ip探针就是 利用用户访问网站返回一个ip地址 这个ip地址在一定程度上可以说 是访问者的位置 在网友朋友面前装装逼还是可以的 下载地址:https://www.lanzous.com/i8x3ucb ...

    2020-01-30 1124
  • 你点我链接,查你家在哪

    介绍     今天主要介绍有人点了你的链接,你就可以定位他家在哪里。顺便再分享几个社工常用网站、社工视频教程、社工字典等 ip定位 先去 https://iplogger.org./us/ 点击Generate IPLogger 生成一个属于你的ip控制台。 复制属于你的链接 只要那个人点了你的链接。就会得到他的ip地址,是手机还是电脑、城市、街道 如果还不够详细,再配合一个高精度ip定位。 https://www.opengps.cn/Data/IP/rtb.aspx 一般可以直接定位到大楼。 其他推荐 查看这个手机号注册了哪些网站: https://www.reg007.com/ 查看目标邮箱有没有泄漏过密码: https://haveibeenpwned.com/ 新浪的短网址生成,(你发一大串链接,目标会怀疑的,变成短网址就好多了) http://www.sina.lt/ https://www.bugku.com/mima/根据目标生成社工字典 http://xingchen.pythonanywhere.com/index 根据目标生成密码字典加强版 ...

    2020-01-21 760
  • 我背着女朋友,用 Python 偷偷抓取了她的行踪

    阅读文本大概需要 5 分钟。 1 目 标 场 景 有时候女朋友一个人在外面玩耍,问她在哪个地方,就是不告诉我。但是,你又很想知道女朋友的「位置」,这该如何是好? 其实你可以这样套路女朋友,假装自己在家很无聊,可以帮她修图,让她微信发原图给你,拿到「微信原图」后,你就可以利用 Python 快速获取到女友的具体位置了。 2 准 备 工 作 首先,在虚拟环境中安装识别图片元数据的库。 pip3 install exifread 然后,进入高德开放平台,申请一个 Web 服务的应用,获取到一个 「Key」用于逆地理编码 API。 3 编  写  脚  本 整个操作分为 3 步骤,分别是获取图片的经度和纬度、对经度和纬度进行数据矫正、调用高德逆地理编码 API 获取具体位置。 第 1 步,获取图片的「经度和纬度」。 使用 exifread 库可以直接读取图片文件,获取到图片的元数据,包含经度、纬度、南北纬方向、东西经方向和拍摄时间。 # 使用 exifread 获取图片的元数据 img_exif = exifread.process_file(open(self.img_path, 'rb')) # 能够读取到属性 if img_exif:      # 纬度数      latitude_gps = img_exif['GPS GPSLatitude']      # N,S 南北纬方向      latitude_direction = img_exif['GPS GPSLatitudeRef']      # 经度数      longitude_gps = img_exif['GPS GPSLongitude']      # E,W 东西经方向      longitude_direction = img_exif['GPS GPSLongitudeRef']      # 拍摄时间      take_time = img_exif['EXIF DateTimeOriginal'] 如果元数据存在,然后判断拍摄时间是否合理。如果拍摄时间不在今天,那只能很遗憾地通知你,你的女朋友在向你撒谎「撒谎」。 def judge_time_met(self, take_time):     """     判断拍摄时间是否是在今天     :param take_time:     :return:     """     # 拍摄时间     format_time = str(take_time).split(" ")[0].replace(":", "-")     # 当天日期     today = str(datetime.date.today())     if format_time == today:         return True     else:         return False if is_lie:         print('很遗憾的通知你,你的女朋友在撒谎!!!')         return 如果女友没有撒谎,那么可以进行第 2 步的操作。 因为通过 GPS 获取的经度、纬度和高德地图的坐标存在一定的误差,这里需要把坐标转换为「火星坐标系」。 x_pi = 3.14159265358979324 * 3000.0 / 180.0 pi = 3.1415926535897932384626  # π a = 6378245.0  # 长半轴 ee = 0.00669342162296594323  # 扁率 def wgs84togcj02(lng, lat):     """     WGS84转GCJ02(火星坐标系)     :param lng:WGS84坐标系的经度     :param lat:WGS84坐标系的纬度     :return:     """     if out_of_china(lng, lat):  # 判断是否在国内         return lng, lat     dlat = transformlat(lng - 105.0, lat - 35.0)     dlng = transformlng(lng - 105.0, lat - 35.0)     radlat = lat / 180.0 * pi     magic = math.sin(radlat)     magic = 1 - ee * magic * magic     sqrtmagic = math.sqrt(magic)     dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi)     dlng = (dlng * 180.0) / (a / sqrtmagic * math.cos(radlat) * pi)     mglat = lat + dlat     mglng = lng + dlng     return [mglng, mglat] 另外需要注意的是,接口中经度、纬度参数只能识别小数点后 6 位,需要对经纬度中的度、分、秒做一定的数据处理,然后再进行四舍五入。 def __format_lati_long_data(self, data):     """     对经度和纬度数据做处理,保留6位小数     :param data: 原始经度和纬度值     :return:     """     # 删除左右括号和空格     data_list_tmp = str(data).replace('[', '').replace(']', '').split(',')     data_list = [data.strip() for data in data_list_tmp]     # 替换秒的值     data_tmp = data_list[-1].split('/')     # 秒的值     data_sec = int(data_tmp[0]) / int(data_tmp[1]) / 3600     # 替换分的值     data_tmp = data_list[-2]     # 分的值     data_minute = int(data_tmp) / 60     # 度的值     data_degree = int(data_list[0])     # 由于高德API只能识别到小数点后的6位     # 需要转换为浮点数,并保留为6位小数     result = "%.6f" % (data_degree + data_minute + data_sec)     return float(result) 第 3 步,调用高德的反地理编码 API,传入申请的应用 Key,就能拿到女朋友的详细地址。 def __get_address(self, location):     """     根据坐标得到详细地址     :param location: 经纬度值     :return:     """     resp = requests.get(self.url_get_position.format(self.api_key, location))     location_data = json.loads(resp.text)     address = location_data.get('regeocode').get('formatted_address')     return address 4 结 果 结 论 确保图片是原图的基础上,可以快速帮你判断女朋友是否在撒谎;如果女朋友没有撒谎,就返回女朋友具体的位置。 如果你觉得文章还不错,请大家分享下。你的肯定是我最大的鼓励和支持。 ...

    2020-01-18 589

联系我们

在线咨询:点击这里给我发消息

QQ交流群:KirinBlog

工作日:9:00-23:00,节假日休息

扫码关注