Linux扫描技术笔记

简介: 本文介绍了nmap,ncat对于服务存活的探测。 此外,还介绍了批量主机节点扫描,批量服务端口存活扫描,以及路由扫描以及安全防范措施。

题记

主机节点的存活的探测方法,我们日常用的最多的是ping,除此之外还有没有其他方法?本文介绍了fping,hping相关操作以探测节点存活。
服务的存活,我们日常用的最多的是telnet,除此之外还有没有其他方法?本文介绍了nmap,ncat对于服务存活的探测。
此外,本文还介绍了批量主机节点扫描,批量服务端口存活扫描,以及路由扫描以及安全防范措施。

0、网络安全技术

1)数据真实、可靠、完整、可控(安全角度)。
举例:获取公用设备的弱口令
获取常用命令:
tracert/traceroute //查询到目的地址的路由跳数。
nmap //批量主机服务的扫描,获取开放的端口(如80,23,22等)
尝试暴力破解,如:http://10.202.4.73 (admin/admin)
nc //进行交互式的shell登录

2)网络入侵方式
踩点–网络扫描–查点–提权 等

一、主机扫描

常用命令:
1)fping
特点:并行发送(批量主机发送)
2)hping

源码包编译步骤:

1)检测配置 ./configure Makefile
2)编译 make 二进制可执行文件
3)安装 make install 安装到指定的路径

以下是fping安装好后的版本:
[root@localhost fping-3.13]# fping -v
fping: Version 3.13
fping: comments to david@schweikert.ch

1.fping参数介绍:
1)man -h 参数 查看帮助
2)
-a 只显示存活的主机列表
-u 只显示没有存活的主机
-g 支持主机段
-f 从文件中读取

example:

[root@localhost fping-3.13]# fping -a -g 114.114.114.1/24
114.114.114.110
114.114.114.114
114.114.114.119

fping -a -f ./ip_list.txt
fping -u -f ./ip_list.txt

2.hping主机扫描
1)特定端口发起tcp探测
-p 端口
-s 设置tcp模式的SYN包

写入内核如下的参数可以进制icmp的访问:
sysctl -w net.ipv4.icmp_echo_ignore_all=1

//在即使主机禁止ping的前提下,依然可以使用hping命令探测端口的存活。

[root@localhost hping-master]# hping -p 135 -S 192.168.1.107
HPING 192.168.1.107 (eth0 192.168.1.107): S set, 40 headers + 0 data bytes
len=46 ip=192.168.1.107 ttl=64 DF id=841 sport=135 flags=SA seq=0 win=8192 rtt=2.7 ms
len=46 ip=192.168.1.107 ttl=64 DF id=1121 sport=135 flags=SA seq=1 win=8192 rtt=0.9 ms
len=46 ip=192.168.1.107 ttl=64 DF id=1374 sport=135 flags=SA seq=2 win=8192 rtt=0.8 ms
len=46 ip=192.168.1.107 ttl=64 DF id=1777 sport=135 flags=SA seq=3 win=8192 rtt=0.9 ms

2)伪造来源IP,模拟DDOS攻击

二、路由扫描

作用:查询到一个主机到另一个主机的跳数及延时。
命令:
1)traceroute;
2)mtr(测试主机到路由的连通性)

traceroute原理:默认30000端口以上的UDP数据包。
traceroute 参数:
-T tcp数据包
-P 端口
-I(大写的i) icmp数据包
-n 不将IP地址解析为域名
举例:
【方式一】:默认UDP方式访问。

[root@localhost hping-master]# traceroute www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
1  192.168.1.1 (192.168.1.1)  3.377 ms  2.129 ms  3.747 ms
2  112.237.12.1 (112.237.12.1)  3.658 ms  3.287 ms  3.295 ms
3  221.0.68.245 (221.0.68.245)  8.835 ms  8.374 ms 221.0.68.45 (221.0.68.45)  6.011 ms
4  218.56.4.65 (218.56.4.65)  22.628 ms  22.172 ms  21.733 ms
5  219.158.98.229 (219.158.98.229)  28.242 ms 219.158.98.225 (219.158.98.225)  24.119 ms 219.158.96.33 (219.158.96.33)  27.358 ms
6  124.65.194.158 (124.65.194.158)  26.988 ms  27.691 ms  30.738 ms
7  124.65.59.166 (124.65.59.166)  60.235 ms  59.844 ms  59.422 ms
8  61.49.168.78 (61.49.168.78)  24.938 ms 61.49.168.82 (61.49.168.82)  23.435 ms 61.49.168.78 (61.49.168.78)  22.323 ms
9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

//【方式二】 ICMP方式访问。

[root@localhost hping-master]# traceroute -I -n www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
1  192.168.1.1  1.962 ms  2.268 ms  1.985 ms
2  112.237.12.1  3.588 ms  4.704 ms  4.505 ms
3  221.0.68.21  6.415 ms  6.062 ms  5.797 ms
4  218.56.4.65  22.058 ms  21.805 ms  21.701 ms
5  219.158.96.29  21.344 ms  21.184 ms  21.016 ms
6  124.65.194.158  26.865 ms  26.571 ms  26.289 ms
7  124.65.59.166  19.953 ms  24.586 ms  24.241 ms
8  61.49.168.78  23.946 ms  22.079 ms  21.584 ms
9  * * *
10  61.135.169.125  20.379 ms  22.970 ms  21.124 ms

//【方式三】TCP方式访问。

[root@localhost hping-master]# traceroute -T -p 80 -n www.baidu.com
traceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets
1  192.168.1.1  10.428 ms  3.382 ms  3.105 ms
2  * * *
3  221.0.68.245  6.938 ms  6.462 ms 221.0.68.21  5.914 ms
4  * * *
5  219.158.96.33  29.864 ms 219.158.96.29  23.532 ms 219.158.96.37  23.160 ms
6  124.65.194.158  32.945 ms  32.642 ms  32.350 ms
7  124.65.59.166  24.625 ms  23.980 ms  25.939 ms
8  * * *
9  * * *
10  61.135.169.125  22.750 ms  22.076 ms *

通过nslooup 反查是可以得到www.baidu.com对应的IP地址61.135.169.125的。

结论:
traceroute以TCP或者ICMP的访问方式,是可以访问到目的网站的IP地址的。默认的UDP包则 不可以。

mtr命令举例:
Mtr是 Linux中有一个非常棒的网络连通性判断工具,它结合了ping, traceroute,nslookup 的相关特性。

[root@localhost hping-master]# mtr www.baidu.com
                                                              My traceroute  [v0.75]
localhost.localdomain (0.0.0.0)                                                                                           Sat Nov 28 02:01:35 2015
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                                          Packets               Pings
Host                     Loss%   Snt   Last   Avg  Best  Wrst StDev
1. 192.168.1.1           0.0%    32    3.8   4.3   2.1  11.1   1.5
2. 112.237.12.1          0.0%    32    3.8   4.5   2.8  11.3   1.6
3. 221.0.68.21           0.0%    32    9.5   7.9   3.5  13.7   2.3
4. 218.56.4.65           0.0%    32   23.8  23.3  21.5  25.5   1.1
5. 219.158.98.221        0.0%    32   25.0  25.8  21.4  70.3   8.3
6. 124.65.194.166        0.0%    31   31.6  29.0  25.1  32.9   2.1
7. 124.65.58.62          0.0%    31   24.6  29.0  19.9  53.3  10.8
8. 123.125.248.46        0.0%    31   23.2  22.7  19.6  29.0   2.0
9. ???
10. ???
11. 61.135.169.121        0.0%    31   22.8  23.1  20.3  25.9   1.5

三、批量服务扫描

作用:
1)快捷获取主机的存活状态;
2)获取主机服务的侦查状态。

典型命令:
1)nmap
2)ncat(号称瑞士军刀)

1)nmap命令使用介绍:
nmap默认扫描的端口范围(0-1024,以及常用服务端口)
nmap -p 0-30000
1)ICMP协议类型(-P) ping扫描 简单、快速、有效 用于扫描主机存活
2)TCP SYN类型 (-sS) 半开放连接 1.高效,2.不易被检测,3.通用
3)TCP connect类型(-sT) 全开放连接 1.模拟真实用户的请求,2结果可靠
4)UDP扫描(-sU) UDP协议扫描 1比较慢,2有效透过防火墙策略

[root@localhost nmap-7.00]# nmap -sP 192.168.119.0/24

Starting Nmap 7.00 ( https://nmap.org ) at 2015-11-28 02:25 PST
Warning: File ./nmap-payloads exists, but Nmap is using /usr/local/bin/../share/nmap/nmap-payloads for security and consistency reasons.  set NMAPDIR=. to give priority to files in your local directory (may affect the other data files too).
Nmap scan report for 192.168.119.1
Host is up (0.00038s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.119.2
Host is up (0.00013s latency).
MAC Address: 00:50:56:EC:C8:54 (VMware)
Nmap scan report for 192.168.119.254
Host is up (0.00011s latency).
MAC Address: 00:50:56:E0:02:E6 (VMware)
Nmap scan report for 192.168.119.128
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 2.01 seconds
[root@localhost nmap-7.00]# nmap -sS 192.168.119.1

Starting Nmap 7.00 ( https://nmap.org ) at 2015-11-28 02:27 PST
Warning: File ./nmap-services exists, but Nmap is using /usr/local/bin/../share/nmap/nmap-services for security and consistency reasons.  set NMAPDIR=. to give priority to files in your local directory (may affect the other data files too).
Nmap scan report for 192.168.119.1
Host is up (0.00021s latency).
Not shown: 987 closed ports
PORT      STATE SERVICE
80/tcp    open  http
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
902/tcp   open  iss-realsecure
912/tcp   open  apex-mesh
1025/tcp  open  NFS-or-IIS
1026/tcp  open  LSA-or-nterm
1027/tcp  open  IIS
1028/tcp  open  unknown
1038/tcp  open  mtqp
5678/tcp  open  rrac
10000/tcp open  snet-sensor-mgmt
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap done: 1 IP address (1 host up) scanned in 1.39 seconds

2)ncat工具使用(端口扫描,默认TCP)
ncat -w 设置超时时间
-z 输入输出模式
-v 显示执行过程
-u 代表UDP
[root@localhost ~]# ncat -v -w2 202.118.66.66 80
Ncat: Version 7.00 ( https://nmap.org/ncat )
Ncat: Connected to 202.118.66.66:80.

四、如何防范恶意扫描

常见的攻击方法:
1)SYN攻击——
利用TCP协议缺陷,导致系统服务停止响应,网络带宽跑慢或者响应缓慢。
2)DDOS攻击——
分布式拒绝访问服务攻击。
正常的服务同一时间接收到N多类似正常服务的访问。
3)恶意扫描

SYN类型的DDOS攻击预防
方式一:减少发送syn+ack包重发次数
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3

方式二:SYN cookies技术(不建立三次握手)
sysctl -w net.ipv4.syncookies=1

方式三:增加backlog队列
sysctl -w net.ipv4.tcp_max_syn_backlog=2048

Linux 下其他预防策略
策略1:如何关闭ICMP协议请求
sysctrl -w net.ipv4.icmp_echo_ignore_all=1

策略2:通过iptables防止扫描
iptables -A FORWARD -p tcp -syn -m limit -limit 1/s -limit-burst 5 -j ACCEPT
iptables -A FORWARD -p tcp -tcp-flags SYN,ACK,FIN,RST RST -m limit -limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp -icmp-type echo-request -m limit -limit 1/s -j ACCEPT

以下链接可以学习:
http://www.cnblogs.com/ym123/category/697304.html


作者:铭毅天下
转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/50095987

相关文章
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
1373 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
Linux
在线对Linux进行磁盘扩容的技术指南。
综上所述,Linux磁盘扩容的过程,重要的不仅是技术,更是对每一步骤的深刻理解和投入的爱心。只要手握正确的工具,我们不仅能满足"孩子"的成长需求,还能享受其中的乐趣和成就。
926 10
|
人工智能 Linux iOS开发
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
1202 12
Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
运维 监控 中间件
Linux运维笔记 - 如何使用WGCLOUD监控交换机的流量
WGCLOUD是一款开源免费的通用主机监控工具,安装使用都非常简单,它可以监控主机、服务器的cpu、内存、磁盘、流量等数据,也可以监控数据库、中间件、网络设备
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
625 1
|
安全 Linux KVM
Linux虚拟化技术:从Xen到KVM
Xen和KVM是Linux平台上两种主要的虚拟化技术,各有优缺点和适用场景。通过对比两者的架构、性能、安全性、管理复杂性和硬件依赖性,可以更好地理解它们的适用场景和选择依据。无论是高性能计算、企业虚拟化还是云计算平台,合理选择和配置虚拟化技术是实现高效、稳定和安全IT环境的关键。
1363 8
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
1476 2
linux笔记 diff及patch的制作与使用
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
817 16
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
1133 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。