利用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可以实现高效的端口扫描. ...
随机推荐
- Eclipse最经常使用快捷键总结
1. ctrl+shift+r:打开资源 这可能是全部快捷键组合中最省时间的了. 这组快捷键能够让你打开你的工作区中不论什么一个文件,而你仅仅须要按下文件名称或mask名中的前几个字母,比方appl ...
- Qt模态与非模态
模态对话框就是指在子对话框弹出时,焦点被强行集中于该子对话框,子对话框不关闭,用户将无法操作其他的窗口.非模态相反,用户仍然可以操作其他的窗口,包括该子对话框的父对话框. 如果从线程角度来讲,模态对话 ...
- QListView的子项的ViewMode
QListView.setViewMode(ViewMode mode) enum QListView::ViewMode Constant Value DescriptionQListV ...
- u3d性能优化
原文地址:http://blog.csdn.net/molti/article/details/8520418 性能优化需要从多方面入手,大家在项目中遇到的问题还是很普遍的,欢迎大家补充. 图形方面: ...
- org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 12 in XML document from
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 12 in XML document from ...
- python2.0_day18_django_form
Django formDjango admin 为什么要讲form,Django里的form能做什么. 前面day16节 简单学习了Django admin,我们知道当我们的models在admin. ...
- osgEarth使用没有DX的Triton库Triton-MT-DLL-NODX.lib
将Triton-MT-DLL修改为Triton-MT-DLL-NODX
- C++模板中的嵌套
在下面的程序中,我们创建了一个模板类用于实现Queue容器的部分功能,并且在模板类中潜逃使用了一个Node类.queuetp.h // queuetp.h -- queue template with ...
- Android 计算器
首先在activity_main.xml加入一个EditText 通过xml的方式来沈成一个图像在drawable中新建一个white_bg.xml文件,同时选择一个shape标签corners设置圆 ...
- intellij idea 2018注册码|intellij idea 2018破解文件下载(附破解教程/汉化包)
intellij idea 2018破解文件http://www.3322.cc/soft/37661.html intellij idea 2018注册码是一款针对“intellij idea 20 ...