利用Python进行端口扫描
利用Python进行端口扫描 - Dahlhin - 博客园 https://www.cnblogs.com/dachenzi/p/8676104.html
Python实现对一个网络段扫描及端口扫描 - GG_Killer的博客 - CSDN博客 https://blog.csdn.net/GG_Killer/article/details/53637422
python实现局域网ip地址扫描 - 晴天的专栏 - CSDN博客 https://blog.csdn.net/rain_qingtian/article/details/42346045
python实现扫描局域网指定网段ip - pg的博客 - CSDN博客 https://blog.csdn.net/qq_30650153/article/details/82289785
1、
获取路由器ip和端口
'''
Python 扫描内网所有机器端口
'''
import socket def main():
# 定义一个变量来接收输入的开始IP
ip_start = input('请输入开始的IP地址(默认为本机IP):')
# 如果IP为空则设置开始IP和结束IP
if ip_start == '':
ip_start = socket.gethostbyname(socket.gethostname())
ip_end = socket.gethostbyname(socket.gethostname())
# 开始IP不为空则设置结束IP
else:
ip_end = input('请输入结束IP(默认为本机IP):')
# 如果IP结束地址为空则设置结束IP地址
if ip_end == '':
ip_end = socket.gethostbyname(socket.gethostname()) # 定义一个变量来接收需要扫描的端口
s = input('请输入目标主机端口,(默认扫描常用端口)')
# 如果接收的端口变量为空,则设置默认扫描开始端口
if s == '':
portlist = [21, 22, 23, 80, 135, 139, 445, 1433, 1502, 3306, 3389, 8080, 9015]
# 如果接收的端口变量不为空,则设置结束端口
else:
# 将接收的端口s转换成int型变量
startport = int(s)
# 定义一个变量接收结束端口
s = input('请输入目标主机结束端口:(默认:65535)')
# 如果结束端口为空,则设置默认结束端口为65535
if s == '':
endport = 65535
# 默认端口不为空,则将接收到的端口字符转换成int型
else:
# 将结束端口s变量转换为int型
endport = int(s)
# 用range()函数生成开始端口到结束端口列表
portlist = [i for i in range(startport, endport + 1)]
# 获取IP地址的前三部分,并转换成字符串
pre_ip = '.'.join(ip_start.split('.')[:-1])
# 获取开始IP的最后部分,并转换成整数类型
start = int(ip_start.split('.')[-1])
# 获取结束IP的最后部分,并转换为整数类型
end = int(ip_end.split('.')[-1])
# 从起始IP最后数字到结束IP最后数字加一遍历
for i in range(start, end + 1):
# IP的前三部分加小圆点加最后部分,组合成IP
ip = pre_ip + '.' + str(i)
for port in portlist:
try:
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout(0.1)
sk.connect((ip, port))
sk.settimeout(None)
print('Server %s port %d ok!' % (ip, port))
sk.close()
# 结果保存在文件中
f = open("IP_Port.txt,", 'a')
f.write(ip + ' : ' + str(port) + '\n')
f.close()
except Exception:
# print('Server %s port %d Not ok!'%(ip,port))
# print('*',end=' ')
pass if __name__ == '__main__':
# 调用main()函数
main()
2、路由器http
- Request URL:http://192.168.1.1/
- Request Method:POST
- Status Code:200 OK
- Remote Address:192.168.1.1:80
- Referrer Policy:no-referrer-when-downgrade
- Response Headersview source
- Cache-Control:no-cache
- Connection:close
- Content-Type:application/json
- Expires:0
- Transfer-Encoding:chunked
- Request Headersview source
- Accept:application/json, text/javascript, */*; q=0.01
- Accept-Encoding:gzip, deflate
- Accept-Language:en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7
- Connection:keep-alive
- Content-Length:54
- Content-Type:application/json; charset=UTF-8
- Host:192.168.1.1
- Origin:http://192.168.1.1
- Referer:http://192.168.1.1/
- User-Agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36
- X-Requested-With:XMLHttpRequest
- Request Payloadview source
- {method: "do", login: {password: "34KR3M7N9TefbwK"}}
- login: {password: "34KR3M7N9TefbwK"}
- method: "do"
利用Python进行端口扫描的更多相关文章
- Python扫描器-端口扫描
结合渗透测试最常见就是单个域名扫指纹,自动子域名查找.获取所有子域名的IP,自动C段IP查找相同子域名,利用有效IP扫端口. 常见端口库扫描 service_list = { 21:"FTP ...
- 基于python的端口扫描
前言 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关).端口扫描是计算机解密高手喜欢的一种方式.攻击者可以通过它 ...
- 【Python】端口扫描脚本
0x00 使用模块简介 1.optparse模块 选项分析器,可用来生成脚本使用说明文档,基本使用如下: import optparse #程序使用说明 usage="%prog -H ...
- python:端口扫描邮件推送
#!/usr/bin/env python import pickle import smtplib from email.mime.text import MIMEText import nmap ...
- Python常用端口扫描
from socket import * import sys host=sys.argv[1] service={':'HTTP', ':'SQL_Server', ':'Remote_Destop ...
- 端口扫描之王——nmap入门精讲(一)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...
- 端口扫描之王——nmap入门精讲(转)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...
- 用Python实现一个端口扫描,只需简单几步就好
一.常见端口扫描的原理 0.秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术. 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己. 秘密扫描能躲避IDS.防火墙.包过滤器 ...
- python自动化运维四:nmap端口扫描
p { margin-bottom: 0.25cm; line-height: 120% } a:link { } 端口扫描器: Python的第三方模块python-nmap可以实现高效的端口扫描. ...
随机推荐
- error: expected declaration specifiers or '...' before 'xxxx'(xxxx是函数形参)
今天汗颜了一大阵 早上,在编译我的源代码的时候竟然不通过编译,上个星期六也出现了这种情况,当时不知道怎么弄的后来又通过编译了,可能是原来的.o文件没有make clean 还保存在那里,以至于蒙过去了 ...
- Android学习CursorWrapper与Decorator模式 (转至http://www.cnblogs.com/bastard/archive/2012/05/31/2527944.html)
一 Decorator模式 意图: 动态的给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. 动态的给一个对象,而不是对整个类添加额外职责,说明此模式将采用的结 ...
- php获取QQ头像并显示的方法
鉴于此,我在想一个大众化的,比较简单的方法,我想到的是对于没有头像的朋友调用其QQ头像, 因为QQ现在至少是人手一个,所以只需要留言时填写QQ号,然后调用其头像,这样一来就方便多了. 首先是获取QQ的 ...
- jQuery异步请求模拟IE登录网站
具体请求的登录验证页面后台逻辑处理,这里我们忽略,不在我们的学习范围内:关键的是使用jQuery异步请求方法,如下例子: <%@ Page Language="C#" Aut ...
- easyUI实现(alert)提示框自动关闭的实例代码
function alert_autoClose(title,msg,icon){ var interval; var time=1000; var x=2; //设置时间2s $.messa ...
- python 包管理和virturlenv
python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...
- MFC ADO数据库操作
MFC ADO数据库操作 - 延陵小明 - CSDN博客 http://blog.csdn.net/guoming0000/article/details/7280070/ 内容比较乱,作为草稿,对现 ...
- java程序后台报错java.net.SocketException: Too many open files
问题描述: 今天一个同事反映程序有问题,让帮忙查看后台日志,发现后台日志报错的信息如下: java.net.SocketException: Too many open files at java.n ...
- .net多线程,线程异步,线程同步,并发问题---1---ShinePans
申请线程,输出线程状态: using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
- Effective C++ Item 14 Think carefully about copying behavior in resource-managing classe
In C++, the only code that guaranteed to be executed after an exception is thrown are the destructor ...