Python开发代码片段笔记
作者编写的一些代码片段,本版本为残废删减版,没有加入多线程,也没有实现任何有价值的功能,只是一个临时记事本,记录下本人编写代码的一些思路,有价值的完整版就不发出来了,自己组织吧,代码没啥技术含量,毕竟Python这一块没怎么认真研究过,代码也都是随性瞎写的,大佬不要喷我,将就着看吧。
废话不啰嗦,开始上代码,第一种是无参数的简单实现方式.
import sys |
我们还可以编写一个交互式的Shell环境,这样能更加灵活的操作命令,操作方式 [shell] # ls
# coding:utf-8 |
也可以使用内置库实现交互命令,do_xxxx()
import os |
如果需要编写一些相对大型的项目,则需要使用类来开发,以下代码用类实现的命令行传递.
'''http://patorjk.com/software/taag''' |
构造一个数据包
from scapy.all import Ether |
nmap 提取关键数据
import numpy as np |
nmap 搞事情,统计结果
import os,sys |
nmap 看图识字,频繁扫描会出现崩溃的情况,解决办法是异常处理。
import os,nmap |
dpkt 流量解包: 流量解包
import dpkt |
公开一个定位工具 这里只公开一个基础班的地址查询工具,完整版不变公开。
import dpkt |
默认会生成谷歌文本,你可以将其倒入谷歌地球
检测URL中的敏感路径 FindPcapWord可用于检测URL中是否存在敏感字
def FindPcapWord(pcap,WordKey): |
FindHivemind 检测数据包中是否存在敏感字符
def FindHivemind(pcap): |
dpkt 检测网络流量合法性: 通常配合WireShark抓取网络数据包,然后配合dpkt解包工具对流量进行分析,常用于网络取证.
# FindPcapWord可用于检测URL中是否存在敏感字 |
简单实现批量执行SSH命令:
import os,paramiko |
简单实现批量SFTP远程传输:
import paramiko |
通过SSH模块获取系统内存数据 这里我写了一个简单的获取内存数据的脚本,当然获取CPU磁盘等,同样可以这样来搞.
import os,paramiko,re |
fabric的使用技巧 fabric工具也是自动化运维利器,其默认依赖于paramiko的二次封装.
# 简单实现命令执行 |
通过SNMP收集主机CPU利用率 通过SNMP协议,收集目标主机的CPU利用率(百分比),并返回JSON字符串.
import os,re,time |
通过SNMP获取系统CPU负载信息 分别获取到系统的1,5,15分钟的负载信息,并返回JSON格式.
import os,re,time |
通过SNMP获取系统内存占用
import os,re,time |
通过SNMP获取系统磁盘数据 这个案例并不完整,我只写了一点,后面有个问题一直没有解决.
import os,re,time |
将指定的日志格式写入文件
import os,re,time |
计算指定范围时间戳 通过编程实现计算出指定时间之内对应时间戳数据,用于通过时间戳定位时间区间.
import os |
通过DNSpython模块查询域名记录
# pip install dnspython |
实现两个文件Diff差异比对 使用Python内置的模块就可以完成两个文件的差异比对,最后生成html报表.
import os |
手工实现遍历目录下文件 通过手动编程实现对指定目录中文件的遍历.
import os |
通过简单拼接实现遍历文件 此处也可以使用一个简单的方法实现遍历文件与目录.
import os |
拼接文件路径遍历指定类型的文件
import os |
简单实现钉钉报警
import requests |
生成随机验证码
import sys |
生成XLS报表
import os |
psutil取系统相关数据
import psutil |
实现简单HTTP服务 对于Web应用,本质上就是socket服务端,用户的浏览器其实就是socket客户端,其下面就是简单实现的HTTP服务器.
import socket |
简单实现密码登录验证: 在不使用数据库的情况下完成密码验证,密码的hash值对应的是123123
import os,time |
针对Web服务的流量统计: 统计Web服务器日志文件中的流量计数,例如192.168.1.10总访问流量.
import os,sys |
针对Web服务的状态码统计: 统计Web服务日志中的状态码的统计,例如404出现的频率等.
import os,sys |
计算出指定网段主机IP:
import os |
PHP函数扫描工具: 快速扫描PHP文件中的危险函数,可用于挖掘漏洞与一句话扫描.
# coding=gbk |
SQL执行语句监控: 通过日志文件,监控MySQL数据库执行的SQL语句,需要开启数据库SET GLOBAL general_log='ON'; set global general_log_file='C:\mysql.log'
这两个选项才能够实现监控数据的目的.
import re |
简单实现端口扫描
import socket |
第二种简单的实现端口扫描.
import socket |
import socket |
当然上面这两种方式都是串行执行的,这在多IP多端口的情况下是非常慢得,所以引入多线程threading模块
import threading |
简单实现批量Ping
import multiprocessing |
获取目标网页容器信息
import os |
获取目标网站IP地址
import os |
子域名爆破: 用于爆破网站中的一级域名,例如www等格式的域名.
import os |
FTP密码爆破工具 可自行加上多线程支持,提高速度..
import ftplib |
简单实现百度爬取
import sys,os,re |
实现动态进度条
import time,ctypes |
获取目标网页容器信息
import os |
获取目标网站IP地址
import os |
FTP密码爆破工具 可自行加上多线程支持,提高速度..
import ftplib |
简单实现批量Ping
import multiprocessing |
扫描目标主机 Banner: 为了让函数获得完整的屏幕控制权,这里使用一个信号量,它能够阻止其他线程运行而避免出现多线程同时输出造成的乱码和失序等情况.
#coding=utf-8 |
scapy实现ping
from scapy.all import * |
web容器识别
import re,requests |
多线程执行SSH的两种方式
import paramiko,datetime,threading |
第二种方式
import paramiko,datetime,threading |
web页面探测工具 探测页面健康状态
import pycurl,certifi |
内网流量混淆
import requests |
psutils 使用该模块完成遍历。
import psutil |
以下代码是从网上爬的,收藏了。
In [25]: import psutil |
watchdog 文件目录实时 监控文件变化。
from watchdog.observers import Observer |
python HTTP/HTTPS 代理转发
from wsgiref.simple_server import make_server |
稍微改一改,变成负载均衡,作孽啊。
from wsgiref.simple_server import make_server |
python 解码IP层 混杂模式,抓包,解码自己搞吧。
import os,socket,struct |
强大的过滤系统
import os,socket,struct |
列表生成式
''' |
python web 服务器本质: jinja.html
<body> |
main.py
from wsgiref.simple_server import make_server |
运行后,访问魔板页面,完成页面渲染。
python 打包 执行 python setup.py build
import sys |
动态进度: 改版后,可实现msf同款效果。
import time,random |
图片转为字符图片:
from PIL import Image |
Python 实现的自动化服务器管理
import sys |
统计access日志: 残废版。
import os,sys,re |
erdai
import os,sys,re,time,datetime |
import os,sys,re,time,datetime |
构建简易HTTPBasic认证: Basic认证是由web服务器提供的一种轻便的身份校验方式,此处实现的工具可用于XSS内嵌钓鱼.
import socketserver |