linux命令获取本机ip(centos查看ip地址和网关地址)
时间:2024-02-12 08:11:57 浏览量:315
在Linux使用过程中,需要了解当前系统开放了哪些端口,并且要查看开放这些端口的具体进程和用户,可以通过netstat命令进行简单查询。
netstat命令各个参数说明如下:
以查看当前所有tcp/udp端口为例:
对上述返回内容进一步解释如下:
Proto :协议名(tcp协议还是udp协议)
recv-Q : 网络接收队列
表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv() 如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。
send-Q : 网路发送队列 对方没有收到的数据或者说没有Ack的,还是本地缓冲区. 如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。
这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。
从步骤一的结果中可以看到22端口对应的链路的 send-Q中堆积了大量的数据包 ,可以判定是发送数据给目的地址的时候出现了阻塞的问题,导致了包堆积在本地缓存中,不能成功发出去。
与本机端口通信的外部socket。显示规则与Local Address相同
共有11种链路状态 Unknown,共计12种state值,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。
备注
PID即进程id,Program即使用该socket的应用程序
netstat -t/-u/-l/-r/-n【显示网络相关信息,-t:TCP协议,-u:UDP协议,-l:监听,-r:路由,-n:显示IP地址和端口号】
注:以下返回内容中,我用xxx注释掉了一部分敏感ip地址。
注:删减了部分结果
1.查找请求数前20个IP(常用于查找攻来源):
2.查找较多time_wait连接:
3.找查较多的SYN连接
4.根据端口列进程