前言
为了保护计算机不受攻击和各种病毒、木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡、过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全;
那么,今天主要想跟大家分享的是在 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.1
Starting 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 ipp
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
复制代码
使用 -sT 参数尝试同目标主机的每个 TCP 端口建立连接、观察有哪些端口处于开放状态以及所运行的有哪些服务;
例如:扫描 GitHub 网站,看看存在哪些开放的端口。
[root@localhost ~]# nmap -sT www.github.com
Starting 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 git
Nmap done: 1 IP address (1 host up) scanned in 70.72 seconds
复制代码
扫描指定的 IP ,看看存在哪些开放的端口。
[root@localhost ~]# nmap -sT 220.181.38.150
Starting 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 https
Nmap 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.com
Starting 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: Windows
OS 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.150
Starting 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: Windows
OS 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.com
Starting 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 git
Nmap done: 1 IP address (1 host up) scanned in 32.39 seconds
复制代码
- -sA 参数是 TCP ACK 扫描,只用来确定防火墙的规则集,本身并不扫描目标主机的端口。
[root@localhost ~]# nmap -sA www.newrank.cn
Starting 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 filtered
Nmap done: 1 IP address (1 host up) scanned in 17.63 seconds
复制代码
- -sW 参数类似于 TCP ACK 扫描,可以检测到处于打开状态的端口。
[root@localhost ~]# nmap -sW www.newrank.cn
Starting 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 filtered
Nmap done: 1 IP address (1 host up) scanned in 46.43 seconds
复制代码
- -PN 参数是强制 nmap 对这类主机进行扫描。
[root@localhost ~]# nmap -sT -PN 220.181.38.150
Starting 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 https
Nmap done: 1 IP address (1 host up) scanned in 4.00 seconds
复制代码
[root@localhost ~]# nmap -sT -PN -p1-5000 192.168.1.127
Starting 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 rpcbind
Nmap 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大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享**
👉网安(黑客)全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
👉网安(黑客红蓝对抗)所有方向的学习路线👈
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉黑客必备开发工具👈
工欲善其事必先利其器。学习黑客常用的开发软件都在这里了,给大家节省了很多时间。文章来源:https://www.toymoban.com/news/detail-442173.html
这份完整版的网络安全(黑客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接即可前往获取【保证100%免费】。
需要的话可以点击CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享文章来源地址https://www.toymoban.com/news/detail-442173.html
到了这里,关于端口扫描工具 NMAP使用详解,收藏这一篇就够了的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!