利用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可以实现高效的端口扫描. ...
随机推荐
- nodejs基础 -- 回调函数
Node.js 异步编程的直接体现就是回调. 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了. 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都 ...
- 使用libcurl源代码编译只是的问题
curl 7.21.6 + vs2005 就把curl的.c文件加到project中编译.报错信息非常古怪: setup_once.h(274) : error C2628: '<unnamed ...
- 解决ERROR_INVALID_USER_BUFFER
我用CSocket编写了一个HTTP下载程序,接收数据大概如下: //...... //use CSocket class //send request... //...... ); ) { Zero ...
- win快捷键技巧
只按Win键,这个所有人都知道,打开和关闭开始菜单. Win+E:打开我的电脑 Win+F:搜索文件 Win+D:显示桌面 Win+M:最小化所有窗口 Win + Pause:显示系统属性对话框 Wi ...
- linux ,cron定时任务 备份mysql数据库
cron 定时任务执行备份脚本文件 backup.sh #!/bin/bash USER="root" PASSWORD="xxxxx" DATABASE=&q ...
- Int 型数值存储
1. Int 在计算机中占 4 Byte, 共 32 位, 最大正数为 2147483647, 最小负数为 -2147483648 2. 正数存储在计算机中的形式为原码,最大正数的十六进制形式为 0X ...
- python2.0_s12_day19_前端结合后端展示客户咨询纪录
接下来就是将后台视图与前端页面结合起来了完成后台系统了.实现前端展示用户列表1.先在base.html代码中把模版中Dashboard下面的内容清空,如下: 具体删除哪些html代码,自己找吧.2.我 ...
- 【RF库Collections测试】Get Dictionary Items
Name:Get Dictionary ItemsSource:Collections <test library>Arguments:[ dictionary ]Returns item ...
- 图解利用vmware工具进行虚拟机克隆
在vmware上创建一台完整的虚拟机,在该创建的虚拟机上进行克隆,先关闭创建的虚拟机,然后选中你要克隆的虚拟机,右击->管理->克隆,然后点击下一步,如下图所示: 2 然后点击下一步,如下 ...
- python初学总结(二)
(1)字典 字典是一种映射关系:键(key),值(value),key-value对 创建字典的方式:直接创建和利用dict函数创建 >>> aInfo = {'Wangdachui ...