你是不是暴露了?

作者:袁首京

原创文章,转载时请保留此声明,并给出原文连接。

如果您是计算机相关从业人员,那么应该经历不止一次网络安全专项检查了,你肯定是收到过信息系统技术检测报告,要求你加强风险监测,确保你提供的系统服务坚实可靠了。

没检测到问题还好,检测到问题的话,有些处理起来还是挺麻烦的,尤其是线上正在运行的系统。所以,如果能在正式上线部署前,自检一番,把能处理的问题处理掉,可能会省掉一些麻烦。

怎么自检呢?方案很多,这里介绍其中的一种,就是 nmap。你可能听说过,没有的话,先记住它是一种网络映射工具,被系统管理员、网络工程师甚至黑客广泛用于主机发现、端口规则、系统检测、漏洞扫描等。

本文就是和您一起看几个 nmap 命令的实际用例。

? 本文中的大多数示例,都将使用 nmap 本身提供的目标:scanme.nmap.org。

安装

多数 Linux 发行版上,可能预装了。不确定的话,可以输入如下命令检测一下:

nmap -v

类似如下输出,说明是已经装好了的。

Starting Nmap 7.80 ( https://nmap.org ) ...
Read data files from: /usr/bin/../share/nmap
WARNING: No targets were specified, so 0 hosts scanned.
Nmap done: 0 IP addresses (0 hosts up) scanned in 0.02 seconds

否则的话,可以使用操作系统对应的方式安装它。例如对于 Debian/Ubuntu,使用:

sudo apt install nmap

对于 RHEL/Fedora base:

sudo dnf install nmap

对于基于 Arch 的发行版:

sudo pacman -S nmap

对于 Windows,如果你使用 Scoop 的话,也很简单:

scoop install nmap

安装完成后,可以开始我们的实验。

扫描开放端口

命令格式如下:

nmap Target

其中 Target 是要扫描的目标 IP 或域名。如果想快速扫描,可以加上 -F 参数:

nmap -F Target

如下是示例:

nmap -F scanme.nmap.org
...
Not shown: 98 filtered ports
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 8.52 seconds

可以看到 2280 端口是开放的。

扫描多个主机

如果想一次扫描多个主机,有几种方法:

  • 命令后直接追加多个域名或 IP
  • 使用通配符一次搜索整个子网
  • 指定 IP 地址范围
  • 指定 IP 地址的不同结尾

例如,一次扫描 3 个 IP:

nmap 192.168.1.9 192.168.1.8 192.168.1.10

扫描整个网段

nmap 192.168.1.*

扫描从 192.168.1.8 到 192.168.1.10 的 IP:

nmap 192.168.1.8-10

另一种扫描从 192.168.1.8 到 192.168.1.10 的方式:

nmap 192.168.1.8,9,10

扫描某个网段,但排除其中之一:

nmap 192.168.1.* --exclude 192.168.1.6

192.168.1.6 这台主机将不会被扫描。

防火墙检测

可以使用 nmap 命令发送 ACK 数据包,以检查目标系统是否启用了防火墙:

sudo nmap -sA scanme.nmap.org

注意 sudo,这条命令需要 root 权限。输出如下:

...
Not shown: 995 unfiltered ports
PORT     STATE    SERVICE
135/tcp  filtered msrpc
139/tcp  filtered netbios-ssn
445/tcp  filtered microsoft-ds
593/tcp  filtered http-rpc-epmap
4444/tcp filtered krb524

Nmap done: 1 IP address (1 host up) scanned in 32.48 seconds

获取主机服务信息

扫描端口后了解服务后,您可能希望了解有关这些服务的更多信息,可以使用标志:sV

nmap -sV scanme.nmap.org
...
Not shown: 991 closed ports
PORT      STATE    SERVICE        VERSION
22/tcp    open     ssh            OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
80/tcp    open     http           Apache httpd 2.4.7 ((Ubuntu))
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
593/tcp   filtered http-rpc-epmap
4444/tcp  filtered krb524
9929/tcp  open     nping-echo     Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.71 seconds

扫描特定端口

指定端口,需要使用 -p 参数:

nmap -p 443 scanme.nmap.org
nmap -p 443,80 scanme.nmap.org
nmap -p 20-80 scanme.nmap.org

如下是真实的扫描示例:

nmap -p 443 scanme.nmap.org
...
PORT    STATE  SERVICE
443/tcp closed https

Nmap done: 1 IP address (1 host up) scanned in 0.54 seconds

隐身模式扫描

坏人喜欢的模式,对不对?使用参数 -sS,需要 root 权限:

sudo nmap -sS Target

没有示例。

获取系统信息

要获取操作系统信息,需要在扫描时使用参数 -A

nmap -A scanme.nmap.org
...
PORT      STATE    SERVICE        VERSION
22/tcp    open     ssh            OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   1024 ac:00:a0:1a:82:ff:cc:55:99:dc:67:2b:34:97:6b:75 (DSA)
|   2048 20:3d:2d:44:62:2a:b0:5a:9d:b5:b3:05:14:c2:a6:b2 (RSA)
|   256 96:02:bb:5e:57:54:1c:4e:45:2f:56:4c:4a:24:b2:57 (ECDSA)
|_  256 33:fa:91:0f:e0:e1:7b:1f:6d:05:a2:b0:f1:54:41:56 (ED25519)
80/tcp    open     http           Apache httpd 2.4.7 ((Ubuntu))
|_http-server-header: Apache/2.4.7 (Ubuntu)
|_http-title: Go ahead and ScanMe!
135/tcp   filtered msrpc
139/tcp   filtered netbios-ssn
445/tcp   filtered microsoft-ds
593/tcp   filtered http-rpc-epmap
4444/tcp  filtered krb524
9929/tcp  open     nping-echo     Nping echo
31337/tcp open     tcpwrapped
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 29.91 seconds

查找活动主机

通常用 ping,但 nmap 命令也可以,比如:

nmap -sP 192.168.1.0/24

获取本机和路由

通常用 ip addrip route,但 nmap 也可以:

nmap --iflist
...
************************INTERFACES************************
DEV   (SHORT) IP/MASK                      TYPE     UP   MTU  MAC
eth0  (eth0)  169.254.38.224/16            other    down 1500
eth0  (eth0)  fe80::a185:605b:4962:26e0/64 other    down 1500
lo    (lo)    127.0.0.1/8                  loopback up   1500
lo    (lo)    ::1/128                      loopback up   1500
wifi0 (wifi0) fe80::35e9:f194:3704:3178/64 ethernet up   1500 64:79:F0:2A:28:E4
wifi1 (wifi1) 169.254.113.12/16            other    down 1500
wifi1 (wifi1) fe80::f520:4762:ad46:710c/64 other    down 1500
wifi2 (wifi2) 169.254.103.91/16            other    down 1500
wifi2 (wifi2) fe80::d14:5bb0:9a34:675b/64  other    down 1500

**************************ROUTES**************************
DST/MASK                      DEV   METRIC GATEWAY
0.0.0.0/32                    wifi0 0      192.168.99.1
127.0.0.1/32                  lo    256
127.255.255.255/32            lo    256
255.255.255.255/32            lo    256
255.255.255.255/32            wifi0 256
127.0.0.0/8                   lo    256
224.0.0.0/4                   lo    256
224.0.0.0/4                   wifi0 256
::1/128                       lo    256
fe80::35e9:f194:3704:3178/128 wifi0 256
fe80::/64                     wifi0 256
ff00::/8                      lo    256
ff00::/8                      wifi0 256

玩法还有很多,不一一列举了。你有空的话,自己发掘发掘吧。

作者:袁首京

原创文章,转载时请保留此声明,并给出原文连接。

原文链接:https://www.cnblogs.com/rockety/p/17289300.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:你是不是暴露了? - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • Linux系统磁盘格式化以及手动增加swap分区

    下面是详细讲解Linux系统磁盘格式化以及手动增加swap分区的完整攻略。 Linux系统磁盘格式化 准备工作 在对硬盘进行操作之前,需要先了解硬盘分区的概念以及Linux文件系统的类型。 硬盘分区 硬盘分区是将一块物理硬盘划分为一个或多个逻辑区域,每个逻辑区域称为一个分区。在Linux系统中,常用的分区类型有主分区、扩展分区、逻辑分区。 Linux文件系统…

    Linux 2023年5月24日
    00
  • 自动ftp脚本,aix/linux 和 windows

     首先windows @echo off REM 基本配置 REM 远程信息 set remote_ip=%1 set remote_user=%2 set remote_passwd=%3 set remote_mode=%4 set remote_file=%5 set ftptxt=.\ftptxt.ftp set local_path=d:\ftp …

    Linux 2023年4月11日
    00
  • docker部署gitlab CI/CD (一)第一篇:部署gitlab及汉化

      网上很多类似教程,但多少有点夹带私货,竟然拉取的第三方镜像,不敢乱用,于是结合其他人的博客和官方文档,结合部分作者的笔误踩的坑,知其然也要知其所以然,于2023年4月17日写下这篇。 官方文档:   https://docs.gitlab.com/ee/install/docker.html 主要参考博客:   https://www.cnblogs.c…

    Linux 2023年4月18日
    00
  • Python 中如何使用 virtualenv 管理虚拟环境

    虚拟环境是 Python 中常用的工具,可以帮助用户创建独立的 Python 环境,避免不同项目之间的依赖冲突,同时也支持环境的快速复制和共享。在 Python 3.3 版本以后,虚拟环境的创建和管理已经被集成到了 Python 标准库中。 本文主要介绍如何使用 virtualenv 这一第三方工具来创建和管理虚拟环境。 安装 virtualenv 使用 p…

    Linux 2023年5月24日
    00
  • [Linux] 使用openssl实现RSA非对称加密

    简单定义:公钥和私钥,加密和解密使用的是两个不同的密钥,所以是非对称 系统:ubuntu 14.04 软件:openssl java php   生成公钥私钥 使用命令生成私钥: openssl genrsa -out rsa_private_key.pem 1024 参数:genrsa 生成密钥   -out 输出到文件  rsa_private_key.…

    Linux 2023年4月13日
    00
  • Neovim,要尝一口不?

    作者:袁首京 原创文章,转载时请保留此声明,并给出原文连接。 Neovim 风评很好,我机器上其实早装了它来替代 vim。只不过这两年用 vscode 较多,冷落了它,除了偶尔改改配置文件,很少用。难得大过年的有点儿空,就来倒腾它一下子,最终效果如下。 基础配置 从 0.5 版开始,Neovim 允许使用 Lua 代替 VimL 作为配置语言,所以这里也直接…

    Linux 2023年4月17日
    00
  • Linux 平台安装python3.7.0环境示例【图文说明】

    下面是“Linux平台安装Python3.7.0环境示例”的完整攻略。 1. 下载Python3.7.0安装包 首先,我们需要在官方网站上下载Python3.7.0的安装包。可以通过以下命令获取下载链接: wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz 下载完成后,我们需要解压…

    Linux 2023年5月14日
    00
  • 使用yum更新时不升级Linux内核的方法

    欢迎来到本站,接下来我将为大家介绍“使用yum更新时不升级Linux内核的方法”的完整攻略。 问题描述 在使用yum更新时,由于安全和稳定性考虑,你可能需要禁止升级Linux内核。但是默认情况下,在执行yum update时,yum将会升级所有可以升级的软件包,包括Linux内核。所以,我们需要机制来保持Linux内核版本不变,而其他软件包可以正常更新。 解…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部