查端口使用情况的命令,检查端口号失败怎么设置

聚客2022-05-30  26

检查linux端口号命令(linux面试常见问题命令)。

在日常开发或者运维的过程中,需要了解当前系统开放了哪些端口,要查看开放这些端口的具体流程和用户,只需通过netstat命令进行查询即可。

netstat命令的一些常见参数描述如下:

-a或-all显示连接中的所有插座。

-A lt;网络类型>:或–<网络类型>:列出该网络类型连接中的相关地址。

-c或–- continuous连续列出网络状态。

-C或–cache显示路由器配置的缓存信息。

-e或–- extend显示网络的其他信息。

-F或-FIB显示纤维。

-g或–- groups显示多播功能组的成员列表。

-h或–help在线帮助。

-i或–- interfaces显示web界面信息表单。

-l或–- listening显示受监视的服务器的套接字。

-M或–- masqueue显示伪装的网络连接。

-n或–- numeric直接使用IP地址,不通过域名服务器。

-N或–- netlink或–symbolic显示网络硬件外围设备的符号连接名称。

-o或–- timers显示计时器。

-p或–- programs显示正在使用的套接字的程序ID和程序名。

-r或–- route显示路由表。

-s或–- statistice显示网络工作信息的统计表。

-t或–TCP显示TCP传输协议的连接状态。

-u或–UDP显示UDP传输协议的连接状态。

-v或–- verbose显示指令执行过程。

-V或-version显示版本信息。

-w或–RAW显示原始传输协议的连接状态。

-x或–UNIX该参数与指定“-A unix”参数的效果相同。

–IP或–inet此参数与指定“-A inet”参数的效果相同。

您可以显示当前服务器上的所有端口和进程服务,并且可以使用pipeline和grep的组合来查看特定的端口和服务:

[root@localhost ~]# netstat -ntlp //查看当前所有tcp端口· [root@localhost ~]# netstat -ntulp |grep 80 //查看所有80端口使用情况· [root@localhost ~]# netstat -an | grep 3306 //查看所有3306端口使用情况· [root@localhost ~]# netstat -nlp |grep LISTEN //查看当前所有监听端口·

检查所有tcp端口的当前使用情况:

这里有一个解释:

1,0.0.0.0代表这台机器上任何可用的地址。比如0.0.0: 135表示本机所有地址的135端口,这样就不用重复显示多台ip计算机了。

2.TCP 0.0.0.0:80表示监听所有可用接口上的TCP80端口。

3.0.0.0.0是默认路由,即所有想要到达不再在路由表中的网段的数据包都遵循0.0.0.0的规则。

那么127.0.0.1就是你的本地ip地址。

然后[::]:21这又是什么鬼?

这意味着ipv6的端口21。

还有为什么UDP的外部链接都是*: *?

*: *是URL的通配符,是192.168.15.12,该类型的整体描述。

说明状态,可以结合TCP连接建立和关闭过程。

听:(听一个连接。)监听来自远程TCP端口的连接请求。

SYN-SENT:(主动;发送syn。在发送连接请求后等待匹配的连接请求。)发送连接请求后等待匹配的连接请求。

Syn-received:(发送和接收Syn。在接收和发送连接请求之后,等待确认连接请求的确认。)接收并发送连接请求后,等待对方对连接请求的确认。

已建立:(连接已建立。)表示打开的连接。

FIN-WAIT-1:(关闭;派FIN去。)等待远程TCP连接中断请求或先前连接中断请求的确认。

FIN-WAIT-2:(关闭;FIN已确认;等待发现。)等待来自远程TCP的连接中断请求。

CLOSE-WAIT:(收到FIN等待接收关闭。)等待本地用户的连接中断请求。

关闭:(关闭;交换鳍;等待FIN。)等待远程TCP确认断开。

LAST-ACK:(收到FIN并关闭;等待FIN ACK。)等待发送到远程TCP的原始连接中断请求的确认。

Time-wait: (in2msl(最大段长度的两倍)关闭后安静等待。)等待足够的时间,以确保远程TCP接收到连接中断请求的确认。

关闭:(连接已关闭。)没有连接状态。

例如,要检查当前Mysql默认端口80是否已启动,您可以执行以下操作

Netstat -ano显示协议统计和TCP/IP网络连接。

TAT-T/-U/-l/-r/-n[显示网络相关信息,-t:TCP协议,-u:UDP协议,-L:监控,-R:路由,-N:显示IP地址和端口号]

netstat-tlun[查看该机器侦听的端口]

netstat-an[查看该机器的所有网络]

netstat-rn[查看本地路由表]

列出所有端口:netstat -a

列出所有TCP端口:netstat -at

列出了所有UDP端口:netstat -au

列出所有处于监听状态的套接字

列出所有监听TCP端口的套接字:netstat-lt

列出所有监听UDP端口的套接字:netstat-lu

找出程序运行的端口:netstat-ap | grepsh

查找在指定端口上运行的进程:netstat-an | grep': 80 '

几个有用的搜索:

1.查找请求数量前20位的IP(常用于查找攻击源):

netstat-anlp | grep 80 | grep TCP | awk“{ print $ 5 }”| awk-F:“{ print $ 1 }”| sort | uniq-c | sort-NR | head-n20

netstat-ant | awk '/:80/{ split $ 5,ip,":);++ A[IP[1]]} END { for(I in A)print A[I],i}' |sort -rn|head -n20

2.用tcpdump嗅探端口80的访问,看看谁是最高的

tcpdump -i eth0 -tnn dst端口80 -c 1000 | awk -F。{打印"。"″."″." $ 4 } ' | sort | uniq-c | sort-NR | head-20

3.查找更多time_wait连接

netstat-n | grep TIME _ WAIT | awk“{ print $ 5 }”| sort | uniq-c | sort-rn | head-n20

4.寻找更多的SYN连接

netstat-an | grep SYN | awk“{ print $ 5 }”| awk-F:“{ print $ 1 }”| sort | uniq-c | sort-NR | more

5.根据端口列流程

netstat-ntlp | grep 80 | awk“{ print $ 7 }”| cut-d/-f1

如有不妥之处,请指正,互相学习,共同进步。

转载请注明原文地址:https://juke.outofmemory.cn/read/201629.html

最新回复(0)