检测Linux服务器端口是否开通
现如今云服务器已经是大势所趋,国内比较著名的云服务器厂商有阿里、腾讯,国外有aws,尽管有的公司目前为止还是使用的物理机,但是无论你是使用的云服务器还是物理机,在运行服务时都必不可少的需要监听到指定的端口,而且已经有很多的服务需要监听的端口需要可以通过公网访问,如果想要保证服务正常必须确定端口可以正常访问,例如nginx服务呦,默认的80端口如果在安全组没有开通的话,是一定不能访问的呦。
接下来,我们就来学习下都有那些命令可以用来确定服务器的端口是否已经成功开通吧。
一、nc命令
nc命令也经常被用于代替nmap进行端口扫描,当然这只是nc命令功能的冰山一角。
(1)、使用nc命令检查指定服务器的指定端口是否被监听

选项:
-w:超时秒数设置等待连接的时间
-z:使用0输入/输出模式,只在扫描通讯端口时使用
-v:显示指令执行过程
以上测试结果为,已经被监听的80端口使用nc测试后返回succeeded,而未被监听的端口81返回failed
如果要扫描一个范围内的端口,语法如下:

(2)、测试指定端口是否可以正常通讯
更多时候我们都不是为了测试一个端口是否已经被监听,这大多是黑客要做的事情,我们更多的关心的是一个端口是否正常通讯,例如我们公司使用的音视频服务,音视频服务只要包含两项服务,一项用于拨通音视频另一项用于打通端口隧道,让使用音视频服务的客户可以直接连接,采用这种方式的好处是用户之间可以更快的连接因为不必通过服务器进行转发,不会影响用户体验,这就要求我们在部署音视频服务之前先检查指定端口是否可用,用到的方法如下:
服务器端:
nc -l port
客户端:
nc ip port
服务器端使用nc命令监听在1234端口上,客户端同样使用nc命令向服务器端发送数据,查看服务器端有没有正常接收到数据。
示例:
客户端

服务端

注释:公网ip不方便透露呦。这样我们就已经接收到了来自客户端的数据信息,那么如何监听在udp相应端口呢?下面就来介绍下哈
nc命令默认情况下是检测/监听tcp协议的,如果我们需要处理udp协议的话,请按照以下操作:
服务器端:
nc -u -l port
客户端:
nc -u ip port
示例:
客户端

服务端
选项
-l:类似于长连接,一直监听在指定port不会断开,可以发送数据信息
-u:指定使用udp协议,nc命令默认情况下是使用tcp协议的
加量环节:
能够实现此功能的其他命令介绍
当然能够实现上述功能的不光只有nc命令了,我们也可以使用tcpdump命令,下面介绍下tcpdump抓包命令的冰山一角。
服务器端:
tcpdump port 1234
客户端:
nc -u ip port
示例:
客户端

服务端

不好意思呦,公司的公网ip也不方便透露呦,没错使用tcpdump抓包时会抓取到发送信息到服务器的公网ip地址呦,不过其实这个地址没有服务器的公网ip地址重要。
(3)、使用nc命令进行文件传输
刚知道这个命令的时候我也吓一跳,没想到这个命令可以这么强大,真的是以后遇到文本文件剩的用scp命令了,接下来就来见识下吧。
客户端:
nc ip port > test.txt
服务端:
cat test.txt | nc ip port
注意哟,我们是要将本地文件上传至服务器呦。

我这里就在本地随便找几行数据了,上述所有操作都是先执行服务器端操作,然后执行客户端操作
服务器端

要先创建空文件,在执行客户端操作

这个命令有点妙,客户端执行完成后,服务端自动结束nc命令。快去看看服务器端的文件吧。

出现了,这就是我们想要的。而且有一个现象就是,执行此命令是当客户端断开或执行完成后,服务端也会立即退出,如果不需要退出的话,需要以下参数哦。
选项
-k:控制服务器端不会因为客户端的退出而退出
-n:指定使用ip地址
我好像也就掌握这么多袄,你们都学会了吗?
检测Linux服务器端口是否开通的更多相关文章
- Golang检测Linux服务器端口占用
代码实现 func CheckPort(port int) error { checkStatement := fmt.Sprintf(`netstat -anp | grep -q %d ; ech ...
- linux telnet检测与某个端口是否开通
转自:http://blog.51cto.com/meiling/1982402 一:telnet此法常被用来检测是个远端端口是否通畅. 测试域名: # telnet baidu.com 80 Try ...
- [Mongodb] 借mongodb被入侵勒索事件,谈下Linux服务器端口安全问题
一.缘由: 最近几天Mongodb勒索事件甚嚣尘上:由于对外网开放访问并且没有开启授权机制被删库.远程拖库.勒索.接着又曝出Elasticsearch被勒索事件,缘由一样,Elasticsearch服 ...
- linux服务器端口netstat
netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接字就是使应用程序能够读写与收发通讯协议(protocol)与资料的 ...
- 使用jconsole检测linux服务器
在Jboss中运行run.sh的脚本下添加如下信息: #add by step #start JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxre ...
- Linux服务器端口access改为trunk all
1.确认可用网卡及vlan id eth5可用 vlan25:10.118.25.0/24 2.编辑网卡配置文件 vim /etc/sysconfig/network-scripts/ifcfg-et ...
- linux服务器性能分析只需1分钟
背景: 现在的互联网公司,大多数时候应用服务都是部署在linux服务器上,那么当你的服务运行过程中出现了一些响应慢,资源瓶颈等疑似性能问题时,给你60秒,如何快速完成初步检测? 肯定有人会说用工具,公 ...
- Linux服务器的弱口令检测及端口扫描
一.弱口令检测--John the Ripper John the Ripper工具可以帮助我们扫描出系统中密码安全性较低的用户,并将扫描后的结果显示出来. 1.安装John the Ripper: ...
- linux 检测服务器端口工具
#nmp# nmap 127.0.0.1 #netstat# netstat -anlp | grep 22 #telnet# 服务器端口即使处于监听状态,但是防火墙iptables屏蔽了该端口,是无 ...
随机推荐
- Python合并列表,append()、extend()、+、+=
在实际应用中涉及到了列表合并的问题. 在应用append()时,发现列表是以一个元素的形式追加到列表上的,最后查询后用的是extend()方法,下面是区别 1.append() 向列表尾部追加一 ...
- poj1088(记忆化搜索入门题)
题目链接:http://poj.org/problem?id=1088 思路: 明显的记忆化搜索题,用dp[i][j]表示从(i,j)出发能滑的最远距离,用dfs搜索,若dp[x][y]>0即已 ...
- java非常好用的读取文件的流的代码
学过java的都知道java中有非常多的读取文件流的操作.这个要回到javase的io操作了.io流说实话,初学者学的肯定会非常混乱,那么多流,什么输入流,输出流,什么文件流,什么字节流,等等.我在这 ...
- 【英宝通Unity4.0公开课学习 】(二)场景创建
本讲共四节,貌似讲课老师的速度变快了,2倍速听不清了...调成了1.7倍...老师果然越来越熟练了啊! 而且最开始的萌妹纸也不再出现在视频里了,我当时还想着完全可以换成老师自己提问嘛! 不过有妹纸声音 ...
- django的流程分析
首先实现一个前端输入网址,后端返回不同的html文件的步骤 一.配置django 1.创建工程 2.创建app 二.配置setting 1.配置templates路径 2.注释跨站请求 三.配置pro ...
- iOS 代码调试
僵尸对象导致crash(Thread 1:EXC_BAD_ACCESS(code=EXC_I386_GPFLT)),需要给位release模式,debug模式不打印内存地址 https://blog. ...
- VC字符串处理整理
场景: 1.在存储数据时有时接口需要合并字符串值,并以某些特殊字符来合并部分,到需要的时候再分割它.如一些数值,人名等. 2.C++有strtok,stringstream和find函数来实现分割.可 ...
- 3.说一下你了解的弹性FLEX布局.
页面布局一直都是web应用样式设计的重点 我们传统的布局方式都是基于盒模型的 利用display.position.float来布局有一定局限性 比如说实现自适应垂直居中 随着响应式布局的流行,CSS ...
- Vue2.0 keep-alive 组件的最佳实践
1.基本用法 vue2.0提供了一个keep-alive组件用来缓存组件,避免多次加载相应的组件,减少性能消耗 <keep-alive> <component> <!-- ...
- Debian8 下面 muduo库编译与使用
其实<Linux 多线程服务端编程>已经写得很详细 但是考虑到代码版本的更新和操作系统的不同 可能部分位置会有些许出入 这里做个记录 方便以后学习运行 我使用的虚拟 安装的是debian系 ...