0%

网络相关的linux命令

telnet

基于http的网络协议

  • 检查端口是否可达, 发送http请求
    telnet ip port

    nc

  • 检查端口是否可达

    1
    2
    3
    nc -zv ip port 
    -v 显示详情
    -z 不发送数据包, 三次握手后退出
  • 发送http请求
    nc ip port

  • 监听本地端口 nc -l -p 端口号

netstat

netstat是基于Netstat这个命令行工具的指令,它可以用来查询系统上的网络套接字连接情况,包括tcp,udp以及Unix套接字;另外它还能列出路由表,接口状态和多播成员等信息。
netstat

  • 检查端口占用
    netstat -ap | grep :prot
  • 列出网卡信息
    netstat -i
  • 显示 8080 端口所有处于 ESTABLISHED 状态的连接
    netstat -atnp | grep ":8080" | grep ESTABLISHED
  • 统计处于各个状态的连接个数
    netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n

lsof

lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。

  • 检查端口占用
    1
    2
    3
    4
    lsof -n -P -i:port  
    -n 不将ip解析为域名
    -P 不将port解析为service name
    -i:port 指定端口