Linux下端口检测实践指南
端口检测是一个网络安全分析的基础环节,用于系统渗透检测和 服务器 安全配置检查,也叫做端口扫描。Linux下的端口检测实践指南包括应用层检测以及协议层检测,两者的区别是应用层检测侧重于扫描端口,而协议层检测则建立在已知的服务上,并检验协议版本或漏洞,针对不同级别的攻击和安全分析,可以有效地实施相应的安全检测。
1、Linux下端口检测实践(应用层检测)
Linux下端口检测可以使用netstat命令来实现,通过netstat命令,可以快速查看服务器上开放的端口状态,从而可以清楚地知道某一特定的端口是否开放,以及相应的应用是什么,可以用以下格式来查看网络连接端口:
netstat -anp | grep LISTEN
上述命令只查看处于LISTEN状态的端口,如果需要查看更详细的信息,可以使用以下命令:
netstat -lntp
该命令会显示监听端口、程序名称以及PID。下面是示例:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 807/sshd
从上图可以看出,在本机的22号端口上,开启了ssh程序,并且pid为807。

2、Linux下端口检测实践(协议层检测)
Linux下的协议层检测可以利用nmap命令,该命令可以检查服务器上对外开放的端口状态,并可以确定是什么服务运行,以及检测协议版本或漏洞,可以使用以下命令来实现:
nmap -sV –version-all
上述命令可以查看IP内打开的端口及相关信息,也可以检测协议版本或漏洞:
# nmap -sV –version-all IP
Nmap scan report for IP
Host is up (0.019s latency).
Not shown: 999 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3p1 Debian 3ubuntu7 (Ubuntu Linux; protocol 2.0)
53/tcp open domain ISC BIND 9.7.1-P2
可以从上述输出中看到,服务器上开放了ssh,端口号为22,其中协议的版本为openssh 5.3p1 Debian 3ubuntu7 (Ubuntu Linux; protocol 2.0)。
综上所述,通过Linux下的应用层检测和协议层检测可以方便快捷地知晓服务器上打开的端口以及相关协议信息,可以有效地用于系统渗透检测和服务器安全配置检查,从而避免发生各类不安全风险。
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
什么是 daemon 与服务 (service):daemon 的启动方式: service
知道了一些有关 daemon 的相关知识后,再来,那么我们如何启动一个 daemon 呢? 其实,我们知道所谓的 daemon 就是一支可以在系统背景下面运作的程式 (program) 啊, 所以,要启动该 daemon ,就是找到他的执行档,执行他就是了。 不过,因为该 daemon 的执行档所需要加的参数太多了!举例来说,你可以使用‘man syslogd’及‘man sshd’来查阅一下该 daemon 要启动时的设定参数!为了克服这样的困扰,所以各主要 Linux distributions 都会针对该服务设计一个比较亲和的 shell script 来进行启动的程序啊!那就是 /etc/init.d/ 底下的档案,以及 /etc/xinetd.d/ 底下的设定资料。 因此,启动服务的方法就变得很简单了。 只要设定好该服务的设定档,然后下达:1. 启动 stand alone 服务的方式:以 syslog 为例:[root@linux ~]# /etc/init.d/syslog start2. 启动 super daemon 服务的方式:以 telnet 为例:[root@linux ~]# vi /etc/xinetd.d/telnet (设定方式参考下节)[root@linux ~]# /etc/init.d/xinetd restart另外,除了这样的启动方式之外,我们还可以透过 Fedora ( Red hat 系统 ) 所提供的 service 这个程式来进行 daemon 的启动喔!其实 service 仅是一支 script 啦, 他可以解析后面带有的参数,然后去到 /etc/init.d/ 去启动相对应的服务名称的 script 而已! 有兴趣的话,可以自行去解析 /sbin/service 这支 shell script 啊! 底下我们大略说明一下他的用法![root@linux ~]# service [service name] (start|stop|restart|...)参数:service name:亦即是需要启动的服务名称,需与 /etc/init.d/ 对应;start|... :亦即是该服务要进行的工作。 范例:范例一:重新启动 crond 这支 daemon :[root@linux ~]# service crond restart[root@linux ~]# /etc/init.d/crond restart在上面的范例当中,其实启动方式以 service 这个程式,或者直接去到 /etc/init.d/ 底下启动, 都一样啦!自行去解析 /sbin/service 就知道为啥了! ^_^Tips:事实上,在 Linux 系统中,要‘开或关某个 port ’,就是需要‘ 启动或关闭某个服务’啦!因此,你可以找出某个 port 对应的服务,程式对应的服务, 进而启动或关闭他,那么那个经由该服务而启动的 port ,自然就会关掉了!
ubuntu系统怎么样查看自己的ip地址
Linux rpm包安装!!!
很明显是有依赖性的,建议使用yum安装,方法如下:(1)挂载光盘:mount /dev/scd0 /mnt(2)配置yum仓库vi /etc/.d/(是自定义的,但是一定要以repo结尾系统才能识别到)[rhel-ClusterStorage] (仓库名称)name=rhel-ClusterStorage (描述)baseurl=file:///mnt/ClusterStorage (安装源,也可以使用ftp或http形式)enabled=1 (是否启用此仓库,1是启用,0是不启用)gpgcheck=1 (1是代表检测gpgkey,0是不检测)gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-relEase(系统key位置,红帽系统都是放在此处)[rhel-Cluster]name=rhel-ClusterStoragebaseurl=file:///mnt/Clusterenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[rhel-Server]name=rhel-Serverbaseurl=file:///mnt/Serverenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release[rhel-VT]name=rhel-VTbaseurl=file:///mnt/VTenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release最后保存退出,并执行:yum clean all (清除yum仓库缓存)(3)就可以很方便的使用yum安装软件包了,例如:yum Install stardict* 或者 yum groupinstall Virtualization
发表评论