前言

为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全;

那么,今天主要想跟大家分享的是在 Linux 操作系统下除了使用 netstat、natcat、lsof 命令来查看本机的状态以外,还有什么方式来查看呢?

一、什么是网络端口?

网络端口:可以认为是传输层协议 TCP 或 UDP 与各种应用层协议进行通信时的一种通道。TCP 和 UDP 协议的数据报文头部都用一个 16 位的域来存放目的端口号和源端口号,最大是:65535。

二、网络端口两种使用方法

  • 由某个程序监听某个端口,等待户机发送数据包到这个端口,一旦有数据产生,应用程序将会做出反应;
  • 通过某个端口主动发送数据包到其他计算机;

三、netstat、netcat、lsof 查看端口状态示例

netstat

命令格式:netstat [ - 选项 1 ] [ - 选项 2 ] ...

常用参数:

  • -l:显示正在监听的 TCP 和 UDP 端口;
  • -a:显示所有活动的 TCP 连接;
  • -A <网络类型>或 - <网络类型>列出该网络类型连线中的相关地址;
  • -n:以数字的形式表示地址和端口号;
  • -s:显示所有协议的统计信息;
  • -r:显示 IP 路由表的内容;
  • -p:显示每一个正在使用的活动连接程序识别码及程序名称;
  • -i:显示网络接口的统计信息;
  • -t:只显示与 TCP 协议有关的连接和端口监听状态;
  • -u:只显示与 UDP 协议有关的端口监听状态;
  • -w:只显示原始接口状态;
[root@localhost ~]# netstat -anpt | grep 631
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1218/cupsd
tcp 0 0 ::1:631 :::* LISTEN 1218/cupsd
复制代码

netcat

nc -vv IP 端口号:意思是只显示该 IP 地址的某端口是否处于正常状态(succeeded:成功,Connection refused:连接拒绝)

nc -z IP 端口号; echo $?:意思是判断该 IP 地址的某端口是否有误(0:无误,1:有误)

[root@localhost ~]# nc -vv 192.168.1.127 22
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
SSH-2.0-OpenSSH_5.3
[root@localhost ~]# nc -z 192.168.1.127 22; echo $?
Connection to 192.168.1.127 22 port [tcp/ssh] succeeded!
0
[root@localhost ~]# nc -vv 192.168.1.127 3306
nc: connect to 192.168.1.127 port 3306 (tcp) failed: Connection refused
复制代码

lsof

lsof 查看端口占用语法格式:lsof -i :端口号

[root@localhost ~]# lsof -i:631
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 1218 root 6u IPv6 12257 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 7u IPv4 12258 0t0 TCP localhost:ipp (LISTEN)
cupsd 1218 root 9u IPv4 12261 0t0 UDP *:ipp
复制代码

以上几种方式,虽是一种实现方法,接下来就是今天我所要跟大家所分享的 NMAP 端口扫描工具~

四、NMAP 介绍

NMAP 是一款免费开源的网络扫描和主机监测工具,主要用于扫描一组主机的网络端口以及所有服务器间程序都要通过网络端口对外提供服务。比如一些常见的端口号:21(FTP服务)、22(SSH连接)、80(HTTP服务)等等,那么我们通过这些服务器开放的端口可以得到很多信息。

NMAP 也是一种常用的网络安全工具,黑客在攻击前,一般会使用这类工具搜索攻击目标、搜索目标主机的网络端口信息,从而来采取其他手段进行攻击。

那么,我们也可以通过这类工具对网络的安全性能进行检测,以防攻击。

官网地址:nmap.org/

五、NMAP 功能特点

  • 灵活
  • 功能强大
  • 便捷式
  • 简单
  • 免费开源

六、NMAP 命令格式

nmap [ 扫描类型 ]  [ 扫描选项 ]  <目标>

七、NMAP 参数基本操作

nmap 127.0.0.1 不加任何参数将以默认的方式扫描 127.0.0.1 主机的开放端口和服务名称。

[root@localhost ~]# nmap 127.0.0.1Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:59 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000040s latency).
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
111/tcp open rpcbind
631/tcp open ippNmap done: 1 IP address (1 host up) scanned in 0.08 seconds
复制代码

使用 -sT 参数尝试同目标主机的每个 TCP 端口建立连接、观察有哪些端口处于开放状态以及所运行的有哪些服务;

例如:扫描 GitHub 网站,看看存在哪些开放的端口。

[root@localhost ~]# nmap -sT www.github.comStarting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:24 CST
Nmap scan report for www.github.com (52.74.223.119)
Host is up (0.15s latency).
rDNS record for 52.74.223.119: ec2-52-74-223-119.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open gitNmap done: 1 IP address (1 host up) scanned in 70.72 seconds
复制代码

扫描指定的 IP ,看看存在哪些开放的端口。

[root@localhost ~]# nmap -sT 220.181.38.150Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:40 CST
Nmap scan report for 220.181.38.150
Host is up (0.0056s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE
443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 4.64 seconds
复制代码
  • -O 参数:探测主机操作系统;
  • -sV 参数:探测端口上运行的软件;

通过上述两项参数,结合在一起,扫描 baidu 网站主机操作系统和扫描出的端口上运行着什么软件?

扫描后,我们可以看出端口号为:80 和 443 所运行着 Microsoft Windows UPnP(微软视窗)的软件;

[root@localhost ~]# sudo nmap -O -sV www.baidu.comStarting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:32 CST
Nmap scan report for www.baidu.com (220.181.38.150)
Host is up (0.015s latency).
Other addresses for www.baidu.com (not scanned): 220.181.38.149
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running: HP embedded
OS details: HP 4000M ProCurve switch (J4121A)
Service Info: OS: WindowsOS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 22.87 seconds
复制代码

通过上述扫描域名的方式以外,也可以采用 IP 的方式来进行扫描指定主机的操作系统和端口上所运行的软件;

[root@localhost ~]# sudo nmap -O -sV 220.181.38.150Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:35 CST
Nmap scan report for 220.181.38.150
Host is up (0.015s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open upnp Microsoft Windows UPnP
443/tcp open ssl/upnp Microsoft Windows UPnP
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: switch
Running (JUST GUESSING): HP embedded (86%)
Aggressive OS guesses: HP 4000M ProCurve switch (J4121A) (86%)
No exact OS matches for host (test conditions non-ideal).
Service Info: OS: WindowsOS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.82 seconds
复制代码
  • -sS 参数:通过向目标的某一个端口发送 TCP SYN 包,然后根据对方不同的回应来判断该端口是否处于监听状态。
[root@localhost ~]# nmap -sS www.github.comStarting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:03 CST
Nmap scan report for www.github.com (13.229.188.59)
Host is up (0.15s latency).
rDNS record for 13.229.188.59: ec2-13-229-188-59.ap-southeast-1.compute.amazonaws.com
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
9418/tcp open gitNmap done: 1 IP address (1 host up) scanned in 32.39 seconds
复制代码
  • -sA 参数是 TCP ACK 扫描,只用来确定防火墙的规则集,本身并不扫描目标主机的端口。
[root@localhost ~]# nmap -sA www.newrank.cnStarting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:25 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.029s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filteredNmap done: 1 IP address (1 host up) scanned in 17.63 seconds
复制代码
  • -sW 参数类似于 TCP ACK 扫描,可以检测到处于打开状态的端口。
[root@localhost ~]# nmap -sW www.newrank.cnStarting Nmap 5.51 ( http://nmap.org ) at 2019-05-28 05:55 CST
Nmap scan report for www.newrank.cn (47.99.2.204)
Host is up (0.032s latency).
All 1000 scanned ports on www.newrank.cn (47.99.2.204) are filteredNmap done: 1 IP address (1 host up) scanned in 46.43 seconds
复制代码
  • -PN 参数是强制 nmap 对这类主机进行扫描。
[root@localhost ~]# nmap -sT -PN 220.181.38.150Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:41 CST
Nmap scan report for 220.181.38.150
Host is up (0.0053s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open httpsNmap done: 1 IP address (1 host up) scanned in 4.00 seconds
复制代码
[root@localhost ~]# nmap -sT -PN -p1-5000 192.168.1.127Starting Nmap 5.51 ( http://nmap.org ) at 2019-05-27 10:51 CST
Nmap scan report for 192.168.1.127
Host is up (0.00058s latency).
Not shown: 4998 closed ports
PORT STATE SERVICE
22/tcp open ssh
111/tcp open rpcbindNmap done: 1 IP address (1 host up) scanned in 0.25 seconds
复制代码

除上述参数之外,还有一些不常用的参数。

例如:

  • -sF:向目标发送 TCP FIN 包,根据目标的响应进行判断;
[root@localhost ~]# nmap -sF www.newrank.cn
复制代码
  • -sX:向目标发送 TCP NULL 包,根据目标的响应进行判断;
[root@localhost ~]# nmap -sX www.newrank.cn
复制代码
  • -sN:向目标发送 FIN、PSH、URG 的包,根据目标的响应进行判断;
[root@localhost ~]# nmap -sN www.newrank.cn
复制代码
  • -sR:用于确认是否是 RPC 端口;
[root@localhost ~]# nmap -sR www.newrank.cn
复制代码
  • -sU:确认哪些是 UDP 端口处于开放的;
[root@localhost ~]# nmap -sU www.newrank.cn
复制代码
  • -sP:向目标发送 TCP ACK 的包,如果有响应,则表明目标处于活动状态;
[root@localhost ~]# nmap -sP www.newrank.cn
复制代码

黑客学习资源免费分享,保证100%免费!!!

需要的话可以点击**CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享**

端口扫描工具 NMAP使用详解,收藏这一篇就够了相关推荐

  1. 网络安全-端口扫描神器Nmap使用详解与参数指导

    目录 简介 命令参数 目标指定 文件读入 随机 排除 主机发现 扫描技术 端口指定和扫描顺序 服务/版本发现 脚本扫描 操作系统版本 时间与性能 防火墙/入侵防御 绕过 输出 杂项 参数指导 参考 简 ...

  2. 端口扫描程序nmap使用详解

    1 概述 Nmap是一款网络扫描和主机检测的非常有用的工具,适用于winodws,linux,等操作系统,支持很多扫描技术,例如:UDP.TCP connect().TCP SYN(半开扫描).ftp ...

  3. Linux下安全扫描工具Nmap用法详解

    扫描器是一种能够自动检测主机安全性弱点的程序.扫描器通过发送特定的网络数据包,记录目标主机的应答消息,从而收集关于目标主机的各种信息.目前网络上有很多扫描软件,比较著名的扫描器有SSS,X-Scan, ...

  4. Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了

    Matplot pyplot绘制单图,多子图不同样式详解,这一篇就够了 1. 单图单线 2. 单图多线不同样式(红色圆圈.蓝色实线.绿色三角等) 3. 使用关键字字符串绘图(data 可指定依赖值为: ...

  5. 一文详解JavaBean 看这篇就够了

    一文详解JavaBean 看这篇就够了 JavaBean的历史渊源 JavaBean的定义(通俗版) JavaBean应用 < jsp:useBean > < jsp:getProp ...

  6. 代理后台中间件_Golang Gin 实战(十三)| 中间件详解看这一篇就够了

    6000字大章带你死磕Golang Gin中间件 在Gin的整个实现中,中间件可谓是Gin的精髓.一个个中间件组成一条中间件链,对HTTP Request请求进行拦截处理,实现了代码的解耦和分离,并且 ...

  7. 端口扫描工具-Nmap

    Nmap是一款功能强大,功能丰富的网络扫描工具,对于网络管理员和安全专业人员来说,是一个非常有用的工具,并且被广泛应用于安全审计.网络调查.漏洞搜寻等领域. (能扫描主机的端口,查看端口是否开放,端口 ...

  8. 端口扫描工具 NMAP

    免费福利 前言 为了保护计算机不受攻击和各种病毒.木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡.过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全: 那 ...

  9. 端口扫描工具 Nmap(一)

    端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...

最新文章

  1. HTTP Host 头攻击,这是什么鬼?
  2. Linux下触摸屏驱动程序分析
  3. 真人秀制作网站_[BoA] 出道20周年真人秀Nobody Talks To BoA上演与李秀满总制作人充满默契的对话!...
  4. 基于 CentOS Mysql 安装与主从同步配置详解
  5. secureCRT连接服务器和文件传输( 一步搞定)
  6. 【演化计算】【论文研读】Completely Automated CNN Architecture Design Based on Blocks
  7. Linux向github上传代码以及遇到的坑们
  8. Unity Texture2D的裁剪、镜像、翻转、缩放、合并、分辨率
  9. Ubuntu16.04常用工具
  10. 解决:RuntimeError: Tensor for ‘out‘ is on CPU, Tensor for argument #1 ‘self‘ is on CPU, but expected t
  11. ClickHouse SAMPLE 采样子句介绍
  12. 弦截法求根c语言,弦截法求方程的根(c++)
  13. 识别PDF关键词,在文件页数和坐标
  14. 搬家公司怎么收费 搬家收费标准
  15. 英特尔平台安装黑苹果
  16. Muli3D 6 Struct m3dtriangleinfo 的属性 fZDdx,fZDdy 的推导
  17. JMeter jp@gc - stepping thread group插件
  18. 方孔分段的lisp_cad怎么把一条线直接分段
  19. 做一个官网企业网站费用大概需要多少钱?
  20. 基于组合优化的旅行商问题

热门文章

  1. matlab代码:面向全局搜索的自适应领导者樽海鞘群算法
  2. 【华为机试题HJ86】求最大连续bit数
  3. 对象数组排序,利用jquery
  4. 指尖轻舞桌面:Slide On Desk - 基本功能与操作方法
  5. nodejs调用建行互联网银企被扫支付接口Java版加解密Demo
  6. [附源码]java毕业设计超市订单管理系统
  7. Java精品项目源码第117期超市收银管理系统
  8. Redis命令时间复杂度(redis的命令也要慎用啊)
  9. 应急物资管理体系概述
  10. 详解U盘怎么装windows7系统