Linux扫描技术笔记

简介: 题记:主机节点的存活的探测方法,我们日常用的最多的是ping,除此之外还有没有其他方法?本文介绍了fping,hping相关操作以探测节点存活。

Linux扫描技术笔记

题记:


主机节点的存活的探测方法,我们日常用的最多的是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

1

2

3

4

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

1

2

3

4

5

6

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  * * *

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

//【方式二】 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

1

2

3

4

5

6

7

8

9

10

11

12

//【方式三】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 *

1

2

3

4

5

6

7

8

9

10

11

12

通过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

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

三.批量服务扫描


作用:

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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


相关文章
|
2月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
149 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
2月前
|
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开发知识可参考相关书籍。
106 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Linux 虚拟化
Vmware 傻瓜式安装(不可不知道的Linux基础知识和技术 01)
本文介绍了VMware虚拟机的下载与安装步骤。首先,通过提供的网盘链接下载VMware安装包。接着,详细描述了安装流程,包括接受协议、选择安装路径(建议避免系统C盘)、取消更新选项等。最后,输入许可证密钥完成安装,并展示了打开虚拟机后的主界面。整个过程简单易懂,适合新手操作。
150 1
|
3月前
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
64 15
|
4月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
101 2
linux笔记 diff及patch的制作与使用
|
3月前
|
安全 Linux Android开发
Linux CFI (Control-flow integrity)技术相关资料汇总
Linux CFI (Control-flow integrity)技术相关资料汇总
|
4月前
|
存储 监控 Linux
在Linux中,如何进行虚拟化技术的应用?
在Linux中,如何进行虚拟化技术的应用?
|
4月前
|
监控 安全 Unix
在Linux中,如何进行安全漏洞扫描?
在Linux中,如何进行安全漏洞扫描?
|
4月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
4月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作