热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

使用Nmap和netstat命令查看开放的端口

一、使用nmap扫描机器开放的端口我用这个工具的目的是查看自己服务器RHEL5所开放的端口,发现没有必要的端口就关闭,并不是用来扫描别的机器的端口……善哉善哉……nmap是个跨平台的工具,在Linux、Linux,FreeBSD,UNIX,Windows下都有可用的版本。官方网站

一、使用nmap扫描机器开放的端口

我用这个工具的目的是查看自己服务器RHEL5所开放的端口,发现没有必要的端口就关闭,并不是用来扫描别的机器的端口……善哉善哉……

nmap是个跨平台的工具,在Linux、Linux,FreeBSD,UNIX,Windows下都有可用的版本。
官方网站:[url]http://insecure.org/nmap/[/url]
主要功能:
1、测一组主机是否在线
2、扫描主机端口,嗅探所提供的网络服务
3、推断主机所用的操作系统

我用到的几个命令如下:

检查我所在网段有多少台“活着”的机器
[root@pps ~]# nmap -sP 192.168.32.0/24

Starting Nmap 4.11 ( [url]http://www.insecure.org/nmap/[/url] ) at 2009-03-10 13:31 CST
Host 192.168.32.1 appears to be up.
MAC Address: 00:50:56:C0:00:08 (VMWare)
Host hoho.com (192.168.32.50) appears to be up.
Host 192.168.32.254 appears to be up.
MAC Address: 00:50:56:E1:E2:F8 (VMWare)

Nmap finished: 256 IP addresses (3 hosts up) scanned in 5.476 seconds

我感觉这个结果不真实,因为我的虚拟机不止一个IP,有些IP并没有检测到。但是自己没有把握说明白原因,于是就不多说了。

检查我本身的机器开放了哪些端口
[root@pps ~]# nmap -sTU localhost

Starting Nmap 4.11 ( [url]http://www.insecure.org/nmap/[/url] ) at 2009-03-10 13:33 CST
Interesting ports . localhost.localdomain (127.0.0.1):
Not shown: 3156 closed ports
PORT     STATE         SERVICE
25/tcp   open          smtp
53/tcp   open          domain
80/tcp   open          http
111/tcp  open          rpcbind
631/tcp  open          ipp
953/tcp  open          rndc
3306/tcp open          mysql
53/udp   open|filtered domain
111/udp  open|filtered rpcbind
631/udp  open|filtered unknown

Nmap finished: 1 IP address (1 host up) scanned in 2.875 seconds

根据实际的需要,用防火墙来“屏蔽”对一些端口的访问,确保安全。


参数说明:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans


比较实用的还有以下三个:

SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快:
nmap -sS 192.168.32.0/24
当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描:
nmap -sT 192.168.32.0/24
UDP扫描用-sU选项,UDP扫描发送空的(没有数据)UDP报头到每个目标端口:
nmap -sU 192.168.32.0/24

二、使用netstat来看看系统的监听端口

# netstat -antp       //所有连接、数字显示主机、端口、TCP连接、监听的程序
# netstat -anup       //所有连接、数字显示主机、端口、UDP连接、监听的程序

# netstat -s          //统计所有(开机至今的)连接数据,包括tcp、udp等
# netstat -st         //统计所有tcp连接数据
# netstat -su         //统计所有udp连接数据
# netstat -su         //粗略统计连接数据

从netstat里可以看到自己机器正在监听的端口、相关程序以及当前的连接数、连接来自何方等数据,然后有针对性的进行关闭相关服务或者用防火墙来屏蔽、过滤对本机服务的访问。

-p参数是Linux特有的,如果没有使用-p参数,想知道哪个程序监听25端口,可以用:

lsof -i :port


来确定是哪个程序监听着port端口,比如我的RHEL5:
[root@pps ~]# lsof -i :25
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
sendmail 3316 root    4u  IPv4  11299       TCP *:smtp (LISTEN)


嘿嘿,就知道是sendmail在监听本机的25端口。


推荐阅读
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 远程过程调用(RPC)是一种允许客户端通过网络请求服务器执行特定功能的技术。它简化了分布式系统的交互,使开发者可以像调用本地函数一样调用远程服务,并获得返回结果。本文将深入探讨RPC的工作原理、发展历程及其在现代技术中的应用。 ... [详细]
author-avatar
浆果范_163
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有