Python打造警方捉拿要犯的网络神器,QQ定位系统…
2018-08-17 09:47:37来源:博客园 阅读 ()
原文丨极客
头条主:空手忆岁月
原文地址:https://www.toutiao.com/i6589472371915096589/
转载必带前面三项
交流群:548377875
效果图:
开发环境
python2.7
依赖环境:scapy、geoip2(如果不需要获取对方的所在地可以屏蔽一部分内容)
基于scapy、geoip2
这两个依赖需要自己安装
版本内容:
1.菜单方式
2.可以根据自己的要求随意抓包
3.使用geoip2 获取所在地和gps信息(开源版,数据会有误差)
4.可以发送QQ电话,QQ视频不管Python交流群:548377875对方接不接都能获取对方的IP(如果手机和客户端QQ同时在线需要接通,远程协助(远程协助我没测试,理论上应该可以的)都可以获取对方的IP,发送图片和文件无法获取对方的IP
5.原则上不支持Linux,因为Linux没有QQ,geoip2 也可以不需要,要求附件大小,所以将代码充geoip2部分注释, 并删除掉geoip2 数据库。如果需要geoip2 请自行安装geoip2并打开代码中注释。
使用步骤:
- python QQLocation.py运行
- 出现'监听中,请开始QQ通话..'请使用QQ 与对方进行QQ通话(QQ电话),并减少流量通信
- 当发现以后会在控制台进行打印
如果有报错,一般Python交流群:548377875是那两个依赖包或者是没有安装 wpcap
python QQLocation.py
#!/usr/bin/python
# -*- coding:utf8 -*-
print u'''
正在加载相关模块请稍候...
'''
from time import sleep
import sys
import signal
import platform
import os
try:
from scapy.all import IP
from scapy.arch.windows import compatibility
from scapy.all import log_runtime, MTU, ETH_P_ALL, PcapTimeoutElapsed, plist
except:
print u'[>]没有安装scapy,需要安装scapy'
'''
如果需要geoip2 请打开此处注释
try:
import geoip2.database
except:
print u'[>]没有安装geoip2,需要安装geoip2'
'''
systemos = ''
# 判断当前系统
# 其实这里也没用 ,先写上后期可能会用上
def UsePlatform():
global systemos
sysstr = platform.system()
if(sysstr =="Windows"):
systemos = 'Windows'
else: # 其实不准备支持linux 因为linux 上没有QQ
if sysstr =='Linux':
print u'不支持Linux,因为Linux没有QQ'
else:
systemos = 'Windows'
UsePlatform()
# 清理屏幕
# 这里用不上, 清理掉屏幕以后 历史消息就没有了
def clearScr():
global systemos
if systemos == 'Windows':
cal = 'cls'
else:
cal = 'clear'
os.system(cal)
#
def PacketHandler(pkt) :
try:
if pkt.len==100:
sip = pkt.getlayer(IP).src
dip = pkt.getlayer(IP).dst
print sip+'--->'+dip
# 排除局域网 10. 172. 192.168.开头
if not dip.startswith('10.') and not dip.startswith('172.') and not dip.startswith('192.168.'):
print u'对方可疑IP',pkt.getlayer(IP).dst
#getGps(dip) 如果需要geoip2 请打开此处注释
else:
pass # 不做任何处理
# print u'未发现数据包'
except Exception,e:
print e
'''
如果需要geoip2 请打开此处注释
def getGps(ip):
GeoDB = geoip2.database.Reader('./db/GeoLite2-City.mmdb')
res = GeoDB.city(ip)
address = res.country.name + " " + res.city.name
latitude = res.location.latitude
longitude = res.location.longitude
print u'所在地:',address
print u'GPS信息:',latitude,',',longitude
pass
'''
def Menu():
#clearScr() // 这里如果清理了 历史消息就看不到了
print u'}----------------SecQuanQQLocation----------------------{'
print u'[+] 1. 开始'
print u'[+] 2. 清理屏幕'
print u'[+] 99. 退出'
print ' '*5
input = raw_input('SecQuan > ')
#input = raw_input(unicode('请输入编号:','utf-8').encode('gbk'))
if input == '1':
runGo()
elif input == '99':
sys.exit()
else:
clearScr()
Menu()
def quit(signum, frame):
print ''
Menu()
def runGo():
print u'监听中,请开始QQ通话(电话/视频都可以)...Ctrl+C 结束监听'
compatibility.log_runtime = log_runtime
compatibility.MTU = MTU
compatibility.PcapTimeoutElapsed = PcapTimeoutElapsed
compatibility.ETH_P_ALL = ETH_P_ALL
compatibility.plist = plist
signal.signal(signal.SIGINT, quit)
signal.signal(signal.SIGTERM, quit)
# 循环监听
while True:
compatibility.sniff(100,prn = PacketHandler,filter="udp")
print ''
sleep(1)
print u'已停止监听'
# 其实没啥用 就是为了让他输入一次 好知道可以开始了
enter = raw_input (unicode('模块加载完毕,输入任意键继续:','utf-8').encode('gbk'))
clearScr() # 进入系统清理一次屏幕
UsePlatform()
Menu()
#runGo()
本程序仅限用于安全测试,由使用者造成的任何后果自行承担!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash