«

nmap 错误 Couldn't open a raw socket. Error: Permission denied (13)

admin 发布于 阅读:5033 Linux


Nmap简介

给不知道的朋友做个简述

Nmap(Network Mapper)是一个网络扫描器和主机检测工具,可以用来探测目标主机的开放端口、运行的服务以及操作系统信息等。

Nmap 提供了多种扫描技术,包括TCP SYN 扫描、TCP 连接扫描、UDP 扫描、操作系统检测、版本检测等。其功能强大,因此被广泛应用于网络安全领域,可以用来检测网络漏洞、分析网络拓扑结构、评估网络性能等。

Nmap 可以在 Windows、Linux、Mac OS X 等多种操作系统上运行,并提供了命令行和图形用户界面两种使用方式。Nmap 的命令行语法比较复杂,需要掌握一定的基础知识才能灵活使用。

总之,Nmap 是一款非常实用的网络扫描工具,可以帮助用户快速获取目标主机的重要信息,从而加强网络安全防护。

安装方式

使用 apt 或 yum 安装

在大多数 Linux 发行版中,可以使用软件包管理器(如 apt、yum、dnf 等)来安装 Nmap。

在 Debian / Ubuntu 上安装 Nmap

在 Debian / Ubuntu 系统中,可以使用以下命令安装 Nmap:

sudo apt update
sudo apt install nmap

在 CentOS / Fedora 上安装 Nmap

在 CentOS / Fedora 系统中,可以使用以下命令安装 Nmap:

sudo yum install nmap   # CentOS 7 及更早版本
sudo dnf install nmap   # CentOS 8 / Fedora

在 Arch Linux 上安装 Nmap

在 Arch Linux 系统中,可以使用以下命令安装 Nmap:

sudo pacman -S nmap

安装完成后,您可以通过在终端窗口中输入 nmap 命令来验证 Nmap 是否已成功安装。如果 Nmap 安装正确,则应该看到有关 Nmap 的相关信息和命令格式。

使用 snap 安装

使用 snap 可以在多个 Linux 发行版上安装 Nmap,包括 Ubuntu、Debian、Fedora 等。下面是在 Ubuntu 上使用 snap 安装 Nmap 的步骤:

  1. 如果您的系统还没有安装 snapd,可以通过以下命令安装:

    sudo apt update
    sudo apt install snapd
  2. 安装 Nmap 应用程序,可以通过以下命令完成:

    sudo snap install nmap
  3. 安装完成后,您可以在终端中输入 nmap 命令来验证 Nmap 是否已成功安装。

  4. 您也可以使用 snap list 命令查看已安装的 snap 应用程序列表。

请注意,由于 snap 应用程序沙箱的限制,可能会导致某些 nmap 功能受到限制。如果您需要完全访问网络功能,则建议使用其他方法安装 nmap

Couldn't open a raw socket. Error: Permission denied (13) 错误解决

出现这个错误多半是用 snap 安装的,系统默认安装方式apt yum 等安装的基本不不会有这个 问题。
这个问题的本质是没有网络权限,即使你是root权限执行。而根本原因就是snap的沙盒机制导致。

snap沙盒机制

snap 是一种软件打包和分发格式,它使用了一个安全的沙盒机制来隔离软件应用程序和系统之间的联系。这个沙盒环境可以保护主机系统免受应用程序恶意行为、漏洞攻击等威胁。

以下是 snap 沙盒机制的一些特点:

总之, snap 沙盒技术提供了一层额外的安全性和隔离性,可以帮助用户更加安全地使用应用程序。

查阅官方文档可以知道:

snap 应用程序的沙盒机制可以控制应用程序对网络资源(如网络接口、端口等)的访问权限。

当您使用 snap 安装应用程序时,默认情况下应用程序是没有访问系统网络资源的权限的。如果需要,您可以手动为应用程序分配相应的网络授权接口。这可以通过以下命令完成:

sudo snap connect <snap>:network-control

其中 <snap> 是应用程序名称。

这条命令会将 network-control 授权接口分配给应用程序,从而允许应用程序访问主机系统上的网络资源。请注意,这可能会增加主机系统的安全风险,并且只应该授予值得信任的应用程序。

除了 network-control 授权接口之外,还有其他一些与网络相关的授权接口,包括:

总之,snap 应用程序的网络权限可以通过授权接口进行管理和限制,在保障系统安全性的前提下,授予应用程序合适的网络访问权限。

那这个错误也就可以解决了:
给nmap加上网络控制权限即可

snap connect nmap:network-control

反之,如果需要给某个snap安装的应用取消网络控制权限,用 disconnect 即可。

Linux nmap


扫描二维码,在手机上阅读

推荐阅读: