扫描的思路和代码实现

一个服务一个端口

查看本机端口信息

windows:

netstat -aon|findstr 3306

Linux:

netstat -an|grep 3306

若未显示结果,说明对应服务未启动(如示例中的MySQL和80端口服务)

远程机器端口

telnet 192.168.142.130 80

wget 192.168.142.130 80

nc -vz 192.168.142.130 445

python代码扫描 wscan.py(批量扫描)

nc -vz 192.168.142.130 80-9000(netcat有扫描功能,能显示服务名称)

常见端口

(Cheat Sheet - Common Ports)

文件共享服务

21/22/69:FTP/SFTP文件传输协议
2049:NFS服务(Network File System)
139:Samba服务
389:LDAP目录访问协议(Light Directory Access Portocol)

远程连接服务

22:SSH远程连接
23:Telnet远程连接
3389:RDP远程桌面连接
5900:VNC远程连接
5632:PcAnywhere远程控制服务

Web应用服务

80/443/8080:常见的web服务端口
7001/7002:Weblogic控制台
8080/8089:Jboss/resin/jetty/Jenkins

9090:Websphere控制台
4848:Glassfish控制台
1352:Lotus domino邮件服务
10000:Webmin-web控制面板

数据库服务

3306:MySQL
1433:MSSQL数据库
1521:Oracle数据库
5432:PostgreSQL数据库
27017/27018:MongoDB
6379:Redis数据库
5000:Sysbase/DB2数据库

邮件服务

25:SMTP邮件服务
110:POP3协议
143:IMAP协议

网络常见协议

53:DNS域名系统
67/68:DHCP服务
161:SNMP协议

特殊服务

2181:Zookeeper服务
8069:Zabbix服务
9200/9300:Elasticsearch服务
11211:Memcached服务
512/513/514:Linux Rexec服务
873:Rsync服务
3690:SVN服务
50000:SAP Management Console

metasploitable2靶机

链接:https://pan.baidu.com/s/1u-MTtxATAfhE5ELnhCS-Fg
提取码:8888

下载、解压、导入VM
默认用户名密码 msfadmin/msfadmin
修改root密码 sudo passwd root
ifconfig查看IP

端口扫描工具NMap(Network Mapper)

基本介绍

Nmap:网络映射器 - 免费的安全扫描程序

图形界面:zenmap

主要功能
1)扫描主机(Host Discovery)
2)扫描端口(Port Scanning)
3)探测操作系统、软件版本 (Operating System Detection、Version Detection)

参数分类

第 15 章.Nmap 参考指南 |Nmap 网络扫描

nmap –help

TARGET SPECIFICATION:目标,对什么进行扫描,比如是域名、IP或者网络
HOST DISCOVERY:主机发现,怎么对主机进行扫描,比如简单扫描,还是全部扫一遍,或者用
相应的协议扫
SCAN TECHNIQUES:扫描技术,协议的设置
PORT SPECIFICATION AND SCAN ORDER:端口和扫描顺序设置
SERVICE/VERSION DETECTION:服务和版本识别
SCRIPT SCAN:使用脚本,nmap本身内置了大量的lua脚本,而且还可以自己编写脚本

【nmap本身内置了大量的lua脚本,而且还可以自己编写脚本
ls /usr/share/nmap/scripts/ | wc -l
全部清单:https://nmap.org/nsedoc/index.html
例如:
nmap 192.168.142.137 –script http-enum 列举HTTP服务
nmap –script=auth 绕过鉴权
nmap –script=brute 暴力破解
nmap –script=vuln 扫描漏洞】

OS DETECTION:操作系统识别
TIMING AND PERFORMANCE:时间和性能设置,比如扫描频率、重试次数等等
FIREWALL/IDS EVASION AND SPOOFING:防火墙绕过和欺骗,比如使用代理,假IP等
OUTPUT:把扫描接出输出到文件
MISC: 杂项:启用IPv6等等配置参数示例

参数示例

nmap 192.168.142.133 # metasploitable2 Linux

http://testfire.net/

nmap testfire.net # IBM的一个靶场
简单扫描:nmap -sP 192.168.142.133
指定端口或范围扫描: nmap -p0-65535 192.168.142.133
探测操作系统: nmap -O 192.168.142.133

【cat /proc/version】

只进行主机发现,不进行端口扫描: nmap -sn 192.168.40.195/24

IP后面的/24是什么意思?

/24含义: IP地址后的/24表示子网掩码的位数为24位,即255.255.255.0,属于C类IP地址。

掩码的位数。
子网掩码8位,11111111.00000000.00000000.00000000 代表:255.0.0.0(A类IP地址)
子网掩码16位,11111111.11111111.00000000.00000000 代表:255.255.0.0(B类IP地址)
子网掩码24位,11111111.11111111.11111111.00000000 代表:255.255.255.0(C类IP地址)
旁站:和目标网站在同一台服务器但端口不同的其他网站。
C段 :和目标服务器IP处在同一个C段的其它服务器。

界面工具Zenmap

第一种:Intense scan
第二种:Intense scan plus UDP
第三种:Intense scan,all TCP ports
第四种:Intense scan,no ping
第五种:Ping scan
第六种:Quick scan
第七种:Quick scan plus
第八种:Quick traceroute
第九种:Regular scan
第十种:Slow comprehensive scan

其他扫描工具

masscan、nbtscan
在线端口检测,端口扫描,端口开放检查-在线工具-postjson