写了一个测试和分析Web服务的简单工具,功能简单:)
#!/usr/bin/env python
# -*- coding: cp936 -*-
# Author: Jamsa
import sys
from SOAPpy import WSDL
class Analyzer:
def __init__(self,wsdlurl):
self.wsdlurl = wsdlurl
self.server = WSDL.Proxy(wsdlurl)
#获取所有方法对象
def getMethods(self):
return self.server.methods
#获取方法的详细信息
def getMethodInfo(self,methodname):
callInfo = self.server.methods[methodname]
return callInfo
#获取方法信息
def methodsInfo(analyzer):
methods = analyzer.getMethods()
print 'Total: ',len(methods),' methods'
for methodname in methods.keys():
print 'Method: \n\t',methodname
method = methods[methodname]
inparams = method.inparams
print 'Input: '
for inparam in inparams:
print '\t',inparam.name,'\t',inparam.type
outparams = method.outparams
print 'Output: '
for outparam in outparams:
print '\t',outparam.name,'\t',outparam.type
#执行方法,只能是字符串或数字类型:)聊胜于无
def executeMethod(analyzer,methodname,params):
print 'Execute remote method: ',methodname,'with params: ',params
#method = analyzer.getMethods[methodname]
proxy = analyzer.server
paramstr = ''
for param in params:
paramstr = '"' + param + '",'
paramstr = ','.join(paramstr.split(',')[:-1])
evalstr = 'proxy.'+methodname+'('+paramstr+')'
print evalstr
try:
ret = eval('proxy.'+methodname+'('+paramstr+')')
print 'Remote return:'
print '\t',ret
return ret
except:
print 'Execute ',methodname,' error: '
print sys.exc_type, sys.exc_value
#使用方法: analyzer.py info|exe url [methodname] [params]
#info 表示要获取该Web服务的所有方法的详细信息
#exe 表示执行方法
#url WSDL的地址,不是Web服务的地址
#methodname 在执行方法时指定要执行的方法名
#params 在执行方法时要传递的参数字符
if __name__ == '__main__':
if len(sys.argv) < 3:
print 'Usage: analyzer.py info|exe url [methodname] [params]'
sys.exit()
opt = sys.argv[1]
url = sys.argv[2]
#url = 'http://www.xmethods.net/sd/2001/TemperatureService.wsdl'
print 'Get WSDL ...'
try:
analyzer = Analyzer(url)
except:
print 'Error: '
print sys.exc_type, sys.exc_value
sys.exit()
if opt == 'info':
methodsInfo(analyzer)
sys.exit()
if opt == 'exe':
if len(sys.argv)<4:
print 'Usage: analyzer.py exe url methodname [params]'
methodname = sys.argv[3]
params = sys.argv[4:]
executeMethod(analyzer,methodname,params)
sys.exit()
print 'Usage: analyzer.py info|exe url [methodname] [params]'
sys.exit()
分享到:
相关推荐
在本项目中,“python项目练习-python3实现web服务器”是一个基于Python 3的实践教程,旨在帮助学习者掌握如何利用Python构建一个简单的Web服务器。实验楼是一个在线学习平台,提供了这个项目的原始版本,而这里所述...
Python毕业设计中的“nweb渗透测试工具”是一个基于Django框架开发的应用,旨在提供网络安全性评估的功能。这个项目的核心目标是教会学生如何利用Python和Django来构建一个实用的网络安全工具,同时也展示了Web安全...
在这个项目中,Tomcat可能是用来运行Python编写的Web应用的一个环境,因为有些开发者可能会选择使用像Flask或Django这样的Python Web框架,并通过Wsgi(Web服务器网关接口)与Tomcat进行通信。这样,Python应用可以...
基于Python-Django的多功能Web安全渗透测试工具设计源码(优质项目).zip本项目是一款基于 Python-Django 的多功能 Web 应用渗透测试系统,包含漏洞检测、目录识别、端口扫描、指纹识别、域名探测、旁站探测、信息...
目 录 摘 要 2 Abstract 3 第1章 绪论 5 1.1 研究背景与意义 5 1.2 国内外研究现状和发展趋势 5 1.3 本论文主要工作及...4.2渗透测试工具首页 13 4.3WEB漏洞测试 14 4.4端口扫描测试 15 结论 17 致谢 18 参考文献 18
毕业设计:基于Python的web渗透测试工具(源码 + 数据库 + 说明文档) 第2章 web安全评估及测试的介绍 8 2.1 渗透测试 8 2.2 web安全评估 8 第3章 渗透测试及安全评估的设计 10 3.1 漏洞渗透测试方法设计 10 3.2 SQL...
在本章中,我们将学习如何安装和配置Selenium WebDriver,以及如何创建第一个自动化测试脚本,比如打开一个网页、输入文本、点击按钮等基本操作。 2. **元素定位**: 在自动化测试中,我们需要找到网页上的特定元素...
本文将深入探讨如何使用Python结合Selenium和Pytest构建一个强大的Web自动化测试框架,实现功能巡检、生成测试报告以及通过邮件发送测试结果。 首先,Python是一种广泛应用于测试领域的编程语言,其简洁明了的语法...
Python Web接口开发与测试是现代软件工程中的重要环节,它涉及到使用Python语言构建Web服务以及对这些服务进行验证和质量保证。在这个过程中,开发者需要掌握一系列技术和工具,以确保接口功能完善、性能良好且易于...
本文将深入探讨如何使用Python结合Selenium库构建一个WebUI自动化测试框架。首先,我们要了解Selenium的核心功能:模拟用户在浏览器上的操作,如点击、输入、导航等。 Selenium是一个开源的Web自动化测试工具,它...
本篇文章将深入探讨在Python中广泛使用的Web开发框架,并进行基准测试,以了解它们在性能、易用性和可扩展性等方面的表现。 一、Django Django被誉为“由开发者为开发者设计”的框架,它强调DRY(Don't Repeat ...
在这个主题中,我们将深入探讨Python在构建和测试Web接口方面的能力,以及如何利用其丰富的库和框架来实现高效的工作流程。 1. Python基础:Python是一种高级编程语言,以其简洁的语法和强大的功能而受到广大开发者...
Selenium 是 Thought Works 公司开収的一套基于 web 应用的自劢化测试工具,直接运行在浏览器中,模拟用户操作。它可以被用于单元测试、集成测试、回弻测试、系统测试、冒烟测试、验收测试,并且可以运行在各种...
Imperva的首席安全工程师Barry Shteiman近期发布一个基于python的web服务器拒绝服务(dos)工具,称为: HULK (Http Unbearable Load King) 。测试下来一台4G内存的服务器,不到一分钟就瘫了。
Python中的Selenium是一个强大的自动化测试工具,主要用于模拟真实用户与Web应用程序的交互。它能够控制浏览器执行各种操作,如点击按钮、填写表单、导航页面等,非常适合进行端到端的Web应用测试。本篇文章将深入...
例如,你可以使用`python -m http.server`命令来启动一个默认的8000端口的服务器,用于测试静态文件服务。 在更复杂的应用中,开发者可能会选择使用像Flask或Django这样的Web框架。Flask是一个轻量级的框架,适合...
集成了一些利用python写的渗透测试工具,有web界面项目名称工具网项目简介使用python-flask框架,搭配bootstrap前端框架实现一个小型web服务器项目定位网络安全工具软件功能提供网络探测和管理功能,并且提供数据...
这个小例子展示了如何利用 Python 的内置库来快速搭建一个简单的 Web 服务器,非常适合初学者入门。在这个教程中,我们将深入探讨如何创建、运行以及理解 Python Web 服务器的基本工作原理。 首先,`webserver.py` ...