利用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可以实现高效的端口扫描. ...
随机推荐
- java---EL与ONGL的区别
EL表达式: >>单纯在jsp页面中出现,是在四个作用域中取值,page,request,session,application.>>如果在struts环境中,它除了有在上面的 ...
- POI-根据Cell获取对应的String类型值
/** * 根据不同情况获取Java类型值 * <ul><li>空白类型<ul><li>返回空字符串</li></ul>< ...
- sudo 之后 unable to resolve host的问题解决办法
gedit /etc/hosts #127.0.0.1 localhost #127.0.0.1 Masterback或者其他 把后面的Masterback 或者其他改成新的主机名,应该是最近修改过主 ...
- 设置同样字体大小,chrome浏览器有时字体偏大的解决办法(转)
本文是找了在网上搜了好久才找到非常棒的一篇文章,很好的解决了这个问题. 原文地址:https://github.com/amfe/article/issues/10 这个特性被称做「Text Auto ...
- 分享jQuery封装好的一些常用操作
1. 禁止右键点击 $(document).ready(function(){ $(document).bind("contextmenu",function(e){ ...
- ModelState.AddModelError使用
后台: ModelState.AddModelError("userPwd", "请输入密码!"); ModelState是一个字典类型,这句话的作用是向Mod ...
- python--dict和set类型--4
原创博文,转载请标明出处--周学伟http://www.cnblogs.com/zxouxuewei/ 一.什么是dict 我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学 ...
- 使用 MVVMLight 命令绑定
首先,如果您希望了解更多的MVVMLight技术或希望有顺序的学习MVVMLight,请查阅目录<MVVMLight 设计模式系列使用文章>. 继上一篇文章的项目,我们实现了数据绑定到界面 ...
- 如何把he_llo wo_rld 变成 HeLlo WoRld
有人问如何把he_llo wo_rld 变成 HeLlo WoRld,估计应该是一道面试的基础题吧. 思路很多种,就看如何实现 思路一.先根据空格分隔,然后转大写,最后再拼接.代码如下 <?ph ...
- Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续一)
通过前一节得出地址可能的构建规律,如下: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksT ...