个人技术分享

常见端口号

端口号 协议名称 端口号 协议名称
21 FTP 445 文件共享服务器(SMB)
22 SSH 1443 SQL Server
23 Telnet 1521 Oracle
25 SMTP 3306 MySQL
53 DNS 3389 Windows远程服务(RDP)
80 HTTP 8080 HTTP代理服务器
443 HTTPS

nmap常用命令

1.-sP (Ping扫描)

快速扫描网段的主机

nmap -sP 10.1.1.1/24

该选项告诉Nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。 这比列表扫描更积极,常常用于 和列表扫描相同的目的。它可以得到些许目标网络的信息而不被特别注意到。 对于攻击者来说,了解多少主机正在运行比列表扫描提供的一列IP和主机名往往更有价值。

系统管理员往往也很喜欢这个选项。 它可以很方便地得出 网络上有多少机器正在运行或者监视服务器是否正常运行。常常有人称它为 地毯式ping,它比ping广播地址更可靠,因为许多主机对广播请求不响应。

-sP选项在默认情况下, 发送一个ICMP回声请求和一个TCP报文到80端口。如果非特权用户执行,就发送一个SYN报文 (用connect()系统调用)到目标机的80端口。 当特权用户扫描局域网上的目标机时,会发送ARP请求(-PR), ,除非使用了--send-ip选项。 -sP选项可以和除-P0)之外的任何发现探测类型-P* 选项结合使用以达到更大的灵活性。 一旦使用了任何探测类型和端口选项,默认的探测(ACK和回应请求)就被覆盖了。 当防守严密的防火墙位于运行Nmap的源主机和目标网络之间时, 推荐使用那些高级选项。否则,当防火墙捕获并丢弃探测包或者响应包时,一些主机就不能被探测到。

2.-p <port ranges> (只扫描指定的端口)

扫描指定主机指定端口

nmap -p 21,23,80 10.1.1.1

该选项指明您想扫描的端口,覆盖默认值。 单个端口和用连字符表示的端口范围(如 1-1023)都可以。 范围的开始以及/或者结束值可以被省略, 分别导致Nmap使用1和65535。所以您可以指定 -p-从端口1扫描到65535。 如果您特别指定,也可以扫描端口0。 对于IP协议扫描(-sO),该选项指定您希望扫描的协议号 (0-255)。

当既扫描TCP端口又扫描UDP端口时,您可以通过在端口号前加上T: 或者U:指定协议。 协议限定符一直有效您直到指定另一个。 例如,参数 -p U:53,111,137,T:21-25,80,139,8080 将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。注意,要既扫描 UDP又扫描TCP,您必须指定 -sU ,以及至少一个TCP扫描类型(如 -sS-sF,或者 -sT)。如果没有给定协议限定符, 端口号会被加到所有协议列表。

3.-O (启用操作系统检测)

检测主机系统

nmap -O 10.1.1.1

也可以使用-A来同时启用操作系统检测和版本检测。

4.-sV (版本探测)

检测服务版本

nmap -sV 10.1.1.1
nmap -p 21,23,80 10.1.1.1 -sV

打开版本探测。 您也可以用-A同时打开操作系统探测和版本探测。

5.-A (激烈扫描模式选项)

全面扫描

nmap -A 10.1.1.1

这个选项启用额外的高级和高强度选项,目前还未确定代表 的内容。目前,这个选项启用了操作系统检测(-O) 和版本扫描(-sV),以后会增加更多的功能。 目的是启用一个全面的扫描选项集合,不需要用户记忆大量的 选项。这个选项仅仅启用功能,不包含用于可能所需要的 时间选项(如-T4)或细节选项(-v)。

6.-oN <filespec> (标准输出)

将结果输出到文件

nmap -O 10.1.1.1 -oN d:baogao.txt

要求将标准输出直接写入指定 的文件。如上所述,这个格式与交互式输出 略有不同。

Nmap所识别的6个端口状态

1.open(开放的)

应用程序正在该端口接收TCP 连接或者UDP报文。发现这一点常常是端口扫描 的主要目标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。

2.closed(关闭的)

关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应), 但没有应用程序在其上监听。 它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行up 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那样他们就会被显示为被过滤的状态,下面讨论。

3.filtered(被过滤的)

由于包过滤阻止探测报文到达端口, Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供 任何信息。有时候它们响应ICMP错误消息如类型3代码13 (无法到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应。 这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显变慢。

4.unfiltered(未被过滤的)

未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。 只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。

5.open|filtered(开放或者被过滤的)

当无法确定端口是开放还是被过滤的,Nmap就把该端口划分成 这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。 UDP,IP协议, FIN,Null,和Xmas扫描可能把端口归入此类。

6.closed|filtered(关闭或者被过滤的)

该状态用于Nmap不能确定端口是关闭的还是被过滤的。 它只可能出现在IPID Idle扫描中。

hydra常用命令

-l 		# 指定用户名
-p 		# 指定密码
-L 		# 指定用户名字典
-P 		# 指定密码字典
-C 		# 指定所用格式为"user:password"的字典文件
-e n/s/r
	n null		# 空密码
	s same		# 用户名和密码一样
	r			# 把用户名反过来当密码
-vV 	# 显示执行细节
-o 		# 输出到指定文件
-s		# 指定端口
-t 		# 任务数量(默认16)
hydra -L e:\users.txt -P e:\pass.txt 10.1.1.1 ftp		# 21
hydra -l administrator -P e:\pass.txt ftp://10.1.1.1	# 21端口
hydra -L e:\users.txt -P e:\pass.txt 10.1.1.1 smb		# 445端口
hydra -L e:\users.txt -e r -vV 10.1.1.1 smb				# 把用户名反过来当密码
hydra -L e:\users.txt -P e:\pass.txt 10.1.1.1 telnet 	# 23端口
hydra -L e:\users.txt -e n -o e:\success.txt 10.1.1.1 smb	# 输出到success.txt