python嗅探
① 怎么样用python编写一个程序语言登录路由器获取器操作页面内容
如果是用Basic Auth 的话,可以参考这段代码
import urllib2, base64
request = urllib2.Request(url) base64string = base64.encodestring('%s:%s' % (user,password))[:-1] request.add_header("Authorization", "Basic %s" % base64string)
htmlFile = urllib2.urlopen(request) htmlData = htmlFile.read() print htmlData htmlFile.close()
On 4/10/07, Shuning Hong <[email protected]> wrote:
这是我的做法:
params='MainID=C&SubID=1'
authstr='Basic '+base64.encodestring(routeruser+':'+routerpass)
authstr=authstr[:-1] # delete last /n
headers={'Authorization':authstr}
On 4/10/07, 蒋辉 <[email protected]> wrote:
我是电信光纤宽带用户,用web 认证不支持多台机器上网。参考了网上的资料,想 写一个 python 的小程序,可以自动获取宽带路由器的外网IP,自动发送认证信 息。宽带路由器登录时会要用户名密码,否则就连不上,我通过使用嗅探器抓包把 认证过的'Authorization' 值取出放在我的程序里能连上路由器,但通用性太差。 有什么好方法可以解决吗?
我的小程序如下: #ptyhon import urllib import httplib params = urllib.urlencode({}) headers = {'Accept': 'text/html', 'User-Agent': 'Mozilla','Content-Type': 'application/x-www-form-urlencoded','Authorization': 'Basic amh1aTpqaHVpMTIzNA=='} conn = httplib.HTTPConnection("192.168.1.1") #print headers conn.request("GET","/userRpm/StatusRpm.htm",params,headers) #id (conn) r1 = conn.getresponse() a = r1.read() #print a b = a.find("222") #print b c = a.find("</td",b) #print c d = a[b:c] print d
params = urllib.urlencode({'connectname': '', 'consumeright': 0, 'separatecard': 0, 'needActiveX' : 1, 'clienttype' :1, 'cookiedate' :3650, 'localip': d, 'httpIP' :d, 'isPNP':0, 'username': "njkd107089173", 'password': "1976"})
headers = {'Accept': 'text/html', 'User-Agent': 'Mozilla', 'Content-Type': 'application/x-www-form-urlencoded'}
server = '218.2.135.36' path = '/secu/webLogin.jsp'
conn = httplib.HTTPConnection(server) conn.request("POST", path, params, headers) r1 = conn.getresponse() print r1.status, r1.reason data1 = r1.read() print data1 conn.close()
② Python要哪些要点要学习
阶段一:Python开发基础
Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。
阶段二:Python高级编程和数据库开发
Python全栈开发与人工智能之Python高级编程和数据库开发知识学习内容包括:面向对象开发、Socket网络编程、线程、进程、队列、IO多路模型、Mysql数据库开发等。
阶段三:前端开发
Python全栈开发与人工智能之前端开发知识学习内容包括:Html、CSS、JavaScript开发、Jquery&bootstrap开发、前端框架VUE开发等。
阶段四:WEB框架开发
Python全栈开发与人工智能之WEB框架开发学习内容包括:Django框架基础、Django框架进阶、BBS+Blog实战项目开发、缓存和队列中间件、Flask框架学习、Tornado框架学习、Restful API等。
阶段五:爬虫开发
Python全栈开发与人工智能之爬虫开发学习内容包括:爬虫开发实战。
阶段六:全栈项目实战
Python全栈开发与人工智能之全栈项目实战学习内容包括:企业应用工具学习、CRM客户关系管理系统开发、路飞学城在线教育平台开发等。
阶段七:算法&设计模式
阶段八:数据分析
Python全栈开发与人工智能之数据分析学习内容包括:金融量化分析。
阶段九:机器学习、图像识别、NLP自然语言处理
Python全栈开发与人工智能之人工智能学习内容包括:机器学习、图形识别、人工智能玩具开发等。
阶段十:linux系统&百万级并发架构解决方案
阶段十一:高并发语言GO开发
Python全栈开发与人工智能之高并发语言GO开发学习内容包括:GO语言基础、数据类型与文件IO操作、函数和面向对象、并发编程等。
③ Python网络编程7-对Telnet流量进行解码分析与拦截
Telnet命令通常用来远程登录。Telnet程序是基于TELNET协议的远程登录客户端程序。提供了在本地计算机上完成远程主机工作的 能力,在终端使用者的电脑上使用telnet程序,用它连接到服务器,终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个 telnet会话,必须输入用户名和密码来登录服务器。
Telnet因为采用明文传送报文,安全性不好。但仍然有很多别的系统可能采用了telnet方式来提供远程登录,因此弄清楚telnet客户端的使用方式仍是很有必要的。telnet命令还可做别的用途:
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。Telnet协议的目的是提供一个相对通用的,双向的,面向八位字节的通信方法,允许界面终端设备和面向终端的过程能通过一个标准过程进行互相交互。
为理解Telnet工作过程与使用Python来分析流量,搭建如下环境:
在R2上启用Telnet作为服务端,在linux主机上安装Telnet程序作为客户端,同时通Wirshark远程捕获Linux 主机在接口流量,在Linux主机上运行Python脚本来分析Telnet流量。
使用如下Python脚本来捕获Telnet流量,并对Telnet交互命令进行解码。
使用如下Python脚本对Telnet流量进行嗅探,发现Telnet流量之后发送TCP Reset对Telnet会话进行阻断。
在Linux 主机上先运行Python脚本,在运行Telnet程序。
发现此时无法连接到主机。
查看脚本运行脚本,可见一铺货到Telnet流量就会给双方发送TCP Reset。
在Wirshark上查看数据包交换如下
④ 去哪里找python的开源项目
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。在GitHub,用户可以十分轻易地找到海量的开源代码。
下面给大家介绍一些GitHub上25个开源项目:
(1)TensorFlow Models
如果你对机器学习和深度学习感兴趣,一定听说过TensorFlow。TensorFlow Models是一个开源存储库,可以找到许多与深度学习相关的库和模型。
(GitHub: https://github.com/tensorflow/models )
(2)Keras
Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。旨在完成深度学习的快速开发(GitHub: https://github.com/keras-team/keras )
(3)Flask
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授权。
(GitHub: https://github.com/pallets/flask )
(4)scikit-learn
scikit-learn是一个用于机器学习的Python模块,基于 NumPy、SciPy 和 matplotlib 构建。,并遵循 BSD 许可协议。
(GitHub: https://github.com/scikit-learn )
(5)Zulip
Zulip是一款功能强大的开源群聊应用程序,它结合了实时聊天的即时性和线程对话的生产力优势。Zulip作为一个开源项目,被许多世界500强企业,大型组织以及其他需要实时聊天系统的用户选择使用,该系统允许用户每天轻松处理数百或数千条消息。Zulip拥有超过300名贡献者,每月合并超过500次提交,也是规模最大,发展最快的开源群聊项目。
(GitHub: https://github.com/zulip/zulip )
相关推荐:《Python入门教程》
(6)Django
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架,旨在快速开发出清晰,实用的设计。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。
(GitHub: https://github.com/django/django )
(7)Rebound
Rebound 是一个当你得到编译错误时即时获取 Stack Overflow 结果的命令行工具。 就用 rebound 命令执行你的文件。这对程序员来说方便了不少。
(GitHub: https://github.com/shobrook/rebound )
(8)Google Images Download
这是一个命令行python程序,用于搜索Google Images上的关键字/关键短语,并可选择将图像下载到您的计算机。你也可以从另一个python文件调用此脚本。
(GitHub: https://github.com/hardikvasa/google-images-download )
(9)YouTube-dl
youtube-dl 是基于 Python 的命令行媒体文件下载工具,完全开源免费跨平台。用户只需使用简单命令并提供在线视频的网页地址即可让程序自动进行嗅探、下载、合并、命名和清理,最终得到已经命名的完整视频文件。
(GitHub: htt ps://github.com/rg3/youtube-dl )
(10)System Design Primer
此repo是一个系统的资源集合,可帮助你了解如何大规模构建系统。
(GitHub: https://github.com/donnemartin/system-design-primer )
(11)Mask R-CNN
Mask R-CNN用于对象检测和分割。这是对Python 3,Keras和TensorFlow的Mask R-CNN实现。该模型为图像中对象的每个实例生成边界框和分割蒙版。它基于特Feature Pyramid Network(FPN)和 ResNet101 backbone。
(GitHub: https://github.com/matterport/Mask_RCNN )
(12)Face Recognition
Face Recognition 是一个基于 Python 的人脸识别库,使用十分简便。这还提供了一个简单的face_recognition命令行工具,可以让您从命令行对图像文件夹进行人脸识别!
(GitHub: https://github.com/ageitgey/face_recognition )
(13)snallygaster
用于扫描HTTP服务器上的机密文件的工具。
(GitHub: https://github.com/hannob/snallygaster )
(14)Ansible
Ansible是一个极其简单的IT自动化系统。它可用于配置管理,应用程序部署,云配置,支持远程任务执行和多节点发布 - 包括通过负载平衡器轻松实现零停机滚动更新等操作。
(GitHub: https://github.com/ansible/ansible )
(15)Detectron
Detectron是Facebook AI 研究院开源的的软件系统,它实现了最先进的目标检测算法,包括Mask R-CNN。它是用Python编写的,由Caffe2深度学习框架提供支持。
(16)asciinema
终端会话记录器和asciinema.org的最佳搭档。
(GitHub: https://github.com/asciinema/asciinema )
(17)HTTPie
HTTPie 是一个开源的命令行的 HTTP 工具包,其目标是使与Web服务的CLI交互尽可能人性化。它提供了一个简单的http命令,允许使用简单自然的语法发送任意HTTP请求,并显示彩色输出。HTTPie可用于测试,调试以及通常与HTTP服务器交互。
(GitHub: https://github.com/jakubroztocil/httpie )
(18)You-Get
You-Get是一个小型命令行实用程序,用于从Web下载媒体内容(视频,音频,图像),支持国内外常用的视频网站。
(GitHub: https://github.com/soimort/you-get )
(19)Sentry
Sentry从根本上讲是一项服务,可以帮助用户实时监控和修复崩溃。基于Django构建,它包含一个完整的API,用于从任何语言、任何应用程序中发送事件。
(GitHub: https://github.com/getsentry/sentry )
(20)Tornado
Tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,,最初是由FriendFeed上开发的。通过使用非阻塞网络I / O,Tornado可以扩展到数万个开放连接,是long polling、WebSockets和其他需要为用户维护长连接应用的理想选择。
(GitHub: https://github.com/tornadoweb/tornado )
(21)Magenta
Magenta是一个探索机器学习在创造艺术和音乐过程中的作用的研究项目。这主要涉及开发新的深度学习和强化学习算法,用于生成歌曲,图像,绘图等。但它也是构建智能工具和界面的探索,它允许艺术家和音乐家使用这些模型。
(GitHub: https://github.com/tensorflow/magenta )
(22)ZeroNet
ZeroNet是一个利用比特币的加密算法和BitTorrent技术提供的不受审查的网络,完全开源。
(GitHub: https://github.com/HelloZeroNet/ZeroNet )
(23)Gym
OpenAI Gym是一个用于开发和比较强化学习算法的工具包。这是Gym的开源库,可让让你访问标准化的环境。
(GitHub: https://github.com/openai/gym )
(24)Pandas
Pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。此外,它还有更广泛的目标,即成为所有语言中最强大,最灵活的开源数据分析/操作工具。它目前已经朝着这个目标迈进。
(GitHub: https://github.com/pandas-dev/pandas )
(25)Luigi
Luigi 是一个 Python 模块,可以帮你构建复杂的批量作业管道。处理依赖决议、工作流管理、可视化展示等等,内建 Hadoop 支持。(GitHub: https://github.com/spotify/luigi )
⑤ python 判断是否ping通
通过mac查ip
方法一:用ARP -A 查询
这种方法只能查到与本机通讯过(20分钟内)的主机MAC地址和IP地址。可在远程主机所属网段中的任一台主机上运行此命令,这样可查出IP欺骗类病毒的主机。
方法二:用专用软件查,如nbtscan
命令方式是:nbtscan -r 网络号/掩码位,这种方法可查询某网段的所有IP与MAC对应关系,但装有防火墙的主机则禁止查询。
方法三: 如果所连交换机有网管功能,可用ARP SHOW 命令显示交换机的arp缓存信息,这种方式基本可查询所有的IP 与MAC地址,但只有网管才有这个权限。
方法四:用sniffer类的嗅探软件抓包分析,packet中一般都含用IP地址与MAC地址。
方法五:用solarwinds类软件中的MAC ADDRESS DISCOVERY查询,但这个工具好象不能跨网段查询。
⑥ Python渗透测试工具都有哪些
网络
Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包。可用作交互式包处理程序或单独作为一个库
pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库
libdnet: 低级网络路由,包括端口查看和以太网帧的转发
dpkt: 快速,轻量数据包创建和分析,面向基本的 TCP/IP 协议
Impacket: 伪造和解码网络数据包,支持高级协议如 NMB 和 SMB
pynids: libnids 封装提供网络嗅探,IP 包碎片重组,TCP 流重组和端口扫描侦查
Dirtbags py-pcap: 无需 libpcap 库支持读取 pcap 文件
flowgrep: 通过正则表达式查找数据包中的 Payloads
Knock Subdomain Scan: 通过字典枚举目标子域名
SubBrute: 快速的子域名枚举工具
Mallory: 可扩展的 TCP/UDP 中间人代理工具,可以实时修改非标准协议
Pytbull: 灵活的 IDS/IPS 测试框架(附带超过300个测试样例)
调试和逆向工程
Paimei: 逆向工程框架,包含PyDBG, PIDA , pGRAPH
Immunity Debugger: 脚本 GUI 和命令行调试器
mona.py: Immunity Debugger 中的扩展,用于代替 pvefindaddr
IDAPython: IDA pro 中的插件,集成 Python 编程语言,允许脚本在 IDA Pro 中执行
PyEMU: 全脚本实现的英特尔32位仿真器,用于恶意软件分析
pefile: 读取并处理 PE 文件
pydasm: Python 封装的libdasm
PyDbgEng: Python 封装的微软 Windows 调试引擎
uhooker: 截获 DLL 或内存中任意地址可执行文件的 API 调用
diStorm: AMD64 下的反汇编库
python-ptrace: Python 写的使用 ptrace 的调试器
vdb/vtrace: vtrace 是用 Python 实现的跨平台调试 API, vdb 是使用它的调试器
Androguard: 安卓应用程序的逆向分析工具
Capstone: 一个轻量级的多平台多架构支持的反汇编框架。支持包括ARM,ARM64,MIPS和x86/x64平台
PyBFD: GNU 二进制文件描述(BFD)库的 Python 接口
Fuzzing
Sulley: 一个模糊器开发和模糊测试的框架,由多个可扩展的构件组成的
Peach Fuzzing Platform: 可扩展的模糊测试框架(v2版本 是用 Python 语言编写的)
antiparser: 模糊测试和故障注入的 API
TAOF: (The Art of Fuzzing, 模糊的艺术)包含 ProxyFuzz, 一个中间人网络模糊测试工具
untidy: 针对 XML 模糊测试工具
Powerfuzzer: 高度自动化和可完全定制的 Web 模糊测试工具
SMUDGE: 纯 Python 实现的网络协议模糊测试
Mistress: 基于预设模式,侦测实时文件格式和侦测畸形数据中的协议
Fuzzbox: 媒体多编码器的模糊测试
Forensic Fuzzing Tools: 通过生成模糊测试用的文件,文件系统和包含模糊测试文件的文件系统,来测试取证工具的鲁棒性
Windows IPC Fuzzing Tools: 使用 Windows 进程间通信机制进行模糊测试的工具
WSBang: 基于 Web 服务自动化测试 SOAP 安全性
Construct: 用于解析和构建数据格式(二进制或文本)的库
fuzzer.py(feliam): 由 Felipe Andres Manzano 编写的简单模糊测试工具
Fusil: 用于编写模糊测试程序的 Python 库
Web
Requests: 优雅,简单,人性化的 HTTP 库
HTTPie: 人性化的类似 cURL 命令行的 HTTP 客户端
ProxMon: 处理代理日志和报告发现的问题
WSMap: 寻找 Web 服务器和发现文件
Twill: 从命令行界面浏览网页。支持自动化网络测试
Ghost.py: Python 写的 WebKit Web 客户端
Windmill: Web 测试工具帮助你轻松实现自动化调试 Web 应用
FunkLoad: Web 功能和负载测试
spynner: Python 写的 Web浏览模块支持 Javascript/AJAX
python-spidermonkey: 是 Mozilla JS 引擎在 Python 上的移植,允许调用 Javascript 脚本和函数
mitmproxy: 支持 SSL 的 HTTP 代理。可以在控制台接口实时检查和编辑网络流量
pathod/pathoc: 变态的 HTTP/S 守护进程,用于测试和折磨 HTTP 客户端