Qq ip获取

 

利用QQ获取别人的IP

这几天我又在摸鱼,前面研究了一些用qq来获取别人IP的方法。

通过QQ的udp协议的点对点通信,我们可以通过QQ电话、直接文件传输、远程桌面等方式拿到别人的ip,获取方法我所知有两种:通过QQ插件(安全性可疑),或者是用wireshark抓包

插件的话,我弄了一个ntrQQ插件,一个挺有意思的小玩意(如果他不把我号给扬了的话),把QQ的一些设置改的人性化以及获取IP。

wireshark是一个网络封包分析软件,可以分析一切从你的电脑流出流入的数据包。其实本质上QQ插件就是完成了这一功能,分析数据包来获取他人ip。

相关教程文章:利用Wireshark任意获取QQ好友IP实施精准定位

不过由于进来政府干预以及时代变了之类的原因,能baidu到的IP定位已经远不如原来的精准,所以说我尝试了一下从网上找api来进行定位。

上一波源码

import json
import requests
import pretty_errors
'''
author:absolute_field
time:2020-2-29
'''
def getpos1(ip):
	ak = "请自己去申请ipstack的apikey"
	url = "http://api.ipstack.com/{ip}?access_key={ak}".format(ip=ip,ak=ak)
	res = requests.get(url)
	json_data = json.loads(res.text)
	# print(json_data)
	lat = json_data['latitude']
	lng = json_data['longitude']
	# link = "http://www.google.com/maps/place/{lat},{lng}".format(lat=lat,lng=lng)
	# print(link)
	return lat,lng

def getpos2(ip):
	url = "https://api.ipgeolocationapi.com/geolocate/{ip}".format(ip=ip)
	res = requests.get(url)
	json_data = json.loads(res.text)
	lat = json_data['geo']['latitude']
	lng = json_data['geo']['longitude']
	# link = "http://www.google.com/maps/place/{lat},{lng}".format(lat=lat,lng=lng)
	# print(link)
	return lat,lng

def getpos3(ip):
	ak = "请自己去申请百度apikey"
	url = "https://api.map.baidu.com/location/ip?ak={myak}&ip={myip}&coor=bd09ll".format(myak=ak,myip=ip)
	res = requests.get(url)
	json_data = json.loads(res.text)
	lng = float(json_data['content']['point']['x'])
	lat = float(json_data['content']['point']['y'])
	# googlelink = "http://www.google.com/maps/place/{lat},{lng}".format(lat=lat,lng=lng)
	# print(googlelink)
	return lat,lng

def getpos4(ip):
	ak = "请自己申请腾讯apikey"
	url = "https://apis.map.qq.com/ws/location/v1/ip?ip={ip}&key={ak}".format(ip=ip,ak=ak)
	res = requests.get(url)
	json_data = json.loads(res.text)
	lat = json_data['result']['location']['lat']
	lng = json_data['result']['location']['lng']
	# googlelink = "http://www.google.com/maps/place/{lat},{lng}".format(lat=lat,lng=lng)
	# print(googlelink)
	return lat,lng

def getpos():
	ip = "输入想要搜索的ip"
	# print('精度从上到下排序?仅供参考')
	lat = lng = j = 0
	result = getpos1(ip) + getpos3(ip) + getpos4(ip)# + getpos2(ip))
	for i in result:
		j += 1
		if j%2 == 1:
			lat += i
		else:
			lng += i
	lat/=3
	lng/=3
	googlelink = "http://www.google.com/maps/place/{lat},{lng}".format(lat=lat,lng=lng)
	print(googlelink)
	

if __name__ == "__main__":
	getpos()

会输出谷歌地图的具体位置,但是定位效果依然不乐观……..大概还会有15KM以内的误差QWQ,果然白嫖不到免费的好东西。(然而写了半天还不如网上百度一个网址)

建议使用的搜寻网址:

openGPS

chaipip

精度还挺高的

不过最近看到了一个叫seeker的项目挺有意思的,这几天弄来试试看