linux下通过nmap扫描目标主机开放了哪些端口
安装nmap后(ubuntu通过apt-get install nmap安装),运行下列命令即可
nmap -p0-65535 目标ip地址
常用的扫描类型:
1、-sP(ping的方式扫描,检查主机在线与否,不发送任何报文到目的主机,想知道目标主机是否运行,而不想进行其它扫描,这扫描方式很常用)
2、-sL(仅仅列网段内出主机的状态、端口等信息,查询端口的话用 -p port,port1……)
3、 -PS/PA/PU [portlist](根据给定的端口用TCP或UDP报文探测:对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。如果主机正在运行就返回一个RST包(或者一个SYNACK包))
4、-sS(TCP同步扫描(TCP SYN):发出一个TCP同步包(SYN),然后等待回对方应)
5、 -sF -sF -sN(秘密FIN数据包扫描、圣诞树 (Xmas Tree)、空(Null)扫描模式使用-sF、-sX或者-sN扫描显示所有的端口都是关闭的,而使用SYN扫 描显示有打开的端口,你可以确定目标主机可能运行的是Windwos系统)
6、-sU(UDP扫描:nmap首先向目标主机的每个端口发出一个0字节的UDP包,如果我们收到端口不可达的ICMP消息,端口就是关闭的,否则我们就假设它是打开的)
7、-P0 (No ping)(这个选项跳过Nmap扫描)
8、-PE/PP/PM
扫描类型的控制
1、sW (对滑动窗口的扫描)
2、-sR(RPC扫描)
3、 -PE; -PP; -PM (ICMP 类型的ping)
4、-PR (ARP 类型的ping-n (无 DNS 解析)
5、-R (为所有的目标做DNS解析)
6、-sV(对服务版本的检测)
常用的对主机的操作
1、-A或者-O(对操作系统的检测)
2、-v(增加信息的详尽程度)
3、-p(ports的范围)
如何在服务器上进行端口扫描?
①Windows系统服务器,用dos扫描打开的端口
快捷键WIN+R在运行中输入“cmd”确定
netstat -na
②Linux系统服务器,终端中用nc命令扫描端口
nc -v -w 2 `10.246.46.15 -i` 3901-3905
#扫描ip地址10.246.46.15的端口开启情况
nc: connect to 10.246.46.15 port 3901 (tcp) failed: Connection refused
nc: connect to 10.246.46.15 port 3902 (tcp) failed: Connection refused #端口关闭
Connection to 10.246.46.15 3903 port [tcp/charsetmgr] succeeded! #端口开通
nc: connect to 10.246.46.15 port 3904 (tcp) failed: Connection refused
Connection to 10.246.46.15 3905 port [tcp/mupdate] succeeded! #端口开通
Ubuntu Linux下安装单包认证fwknop,并且测试敲门认证流程
安装环境:Ubuntu虚拟机20.04LTS(server client)
以下步骤依据fwknop官方文档[1],依据源码编译同时安装客户端与服务器端,详情见
安装完成后查看安装位置以及客户端与服务器端的版本信息:
服务器启动失败问题:
1、官方文档给出的部分命令是错的,启动SPA防火墙需要使用命令 service fwknop-server start 或者 sudo fwknopd start 而不是 service fwknop start 。
2、配置错误,官方文档只给出access.conf配置规则,还需要修改fwknopd.conf配置文件(均位于 /etc/fwknop/ 目录下)
通过命令 grep fwknopd /var/log/syslog 打印信息如下:
fwknop是一项Single Packet Authorization(SPA,单包认证)技术,其保留了Port Knocking(敲门技术)的优点(在默认丢弃数据包过滤器后提供服务保护),但与Port Knocking相比又有如下优点,详见 :
fwknop的单包授权消息格式[2]:为了让 fwknop SPA 客户端进行身份验证并允许应用后续授权标准,必须将几条信息安全地传送到SPA敲门服务器。fwknop 客户端在每个 SPA 敲门消息中传输以下内容,详见 :
SPA包的详细内容详见
1、首先在客户端安装nmap端口扫描工具,用于测试后续的SPA服务器端的端口开放情况
2、客户端与服务器端分别运行ifconfig查看各自局域网ip,我的ip为: server:172.16.93.130, client:172.16.93.131 。在复现时分别用自己的局域网ip替换
3、客户端对服务器进行端口扫描
结果如下,发现没有端口开放:
4、服务器端安装openssh-server用于开放22端口进行测试
安装完毕后客户端再进行端口扫描,结果如下,发现22端口开放:
通过ssh进行测试:
5、根据官方 tutorial 中的Default-Drop firewall policy中进行iptables配置
其中ens33选择填入自己的网卡名称,客户端再进行nmap端口扫描,发现22端口被过滤:
同时使用ssh连接发现无法连接:
6、客户端生成秘钥(-a后为客户端ip,-D后面为服务器ip,-p后为服务器监听SPA包的端口,-P后为发送的SPA包的协议,一般采用UDP包)
生成的秘钥在当前用户的主目录下,使用命令查看:
同时在服务器端进行配置:
配置情况如下:
随后服务器启动fwknop并查看状态:
结果如下,同时客户端使用ssh尝试连接发现依旧timeout:
7、客户端发送敲门SPA包,并且服务器查看fwknop状态并打印信息:
对客户端发出的SPA敲门包抓包显示如下,其从客户端的40477端口发送至服务器的62201端口(fwknop默认敲门监听端口)
服务器端显示信息如下
发现其收到SPA敲门包并将为客户端(172.16.93.131)添加规则,此时客户端用nmap进行端口扫描,发现依旧被过滤。
1、客户端生成秘钥时不能使用sudo,否则生成的.fwknoprc将会在root目录下(/root/)
2、在客户端发送SPA敲门数据包后,使用nmap扫描会致使服务器关闭其权限,因此无法再直接使用ssh连接,需要重新再发送SPA敲门包后再直接使用ssh连接才能够连接服务器。
3、可能由于服务器端fwknop监听的端口被防火墙关闭而导致收不到敲门数据包,因此需要保证端口畅通,其中62201为fwknop监听SPA包的端口:
1、由于国内运营商多是动态分配ip的,因此每次敲门及ssh连接都需要确定自己的公网ip并且生成秘钥。
2、由于共享公网ip的情况,在自己主机敲开门之后,与主机在相同公网ip下的其他主机也可以进行ssh连接。虽然开门时间短,但是如果有黑客一直专门盯着,在检测到发出SPA包之后使用同一公网ip下的主机或是伪造ip进行攻击,则有可能突破。fwknop主要是防御大范围端口扫描乱扫的黑客。
[1]
[2] Rash M. Single packet authorization with fwknop[J]. login: The USENIX Magazine, 2006, 31(1): 63-69.
linux下如何测试一个IP地址的某个端口通不通
linux测试某个端口的连通性可以使用如下命令测试TCP协议
telnet ip port
TCP/UDP协议测试端口
nc -vuz ip port #测试udp协议
nc -vtz ip port #测试tcp协议
如何查看“linux服务器”IP和端口?
参考 *** :
1、用netstat查看:
2、lsof
-i:port,使用lsof -i :port就能看见所指定端口运行的程序,同时还有当前连接。
3、nmap端口扫描。
4、文件/etc/services显示的各个服务的端口号:
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
linux批量监测IP端口存活
一、nc命令检测端口的用法
安装nc工具
yum install -y nc
# nc -v -w 10 -z 192.168.200.101 5555 (nc命令用法)
-v 显示指令执行过程。
-w 超时秒数 设置等待连线的时间。
-u 表示使用UDP协议
-z 使用0输入/输出模式,只在扫描通信端口时使用。
批量监测IP端口存活脚本 (命名 检测.sh)
cat 检测.sh
cat ip.txt
将 检测.sh 和 ip.txt 放在同一个目录下
运行脚本
0条大神的评论