• ping
    • ping [website]
  • traceroute
    • traceroute -w 1 [website] (-w 是wait意思)
  • mtr :检查是否有数据包丢失
  • nslookup :查看域名IP
    • nslookup [website]
  • telnet :检测端口问题
    • telnet [website] [port]
  • tcpdump :分析数据包
    • -n : 不用域名,使用ip的方式展示 -n port 80 : 监听80端口

    • -i :指定监听的网络接口,-i any: 代表监听所有接口

    • -w:数据保存到指定文件 -w filelocation

    • -s: 设置抓取的大小

    • 捕获端口: tcpdump -i any -n port 80

    • 捕获主机/IP: tcpdump -i any -n host 10.0.0.1

    • 捕获主机/IP和端口: tcpdump -i any -n host 10.0.0.1 and port 80

    • 捕获指定来源:tcpdump src host hostname

    • tcpdump 输出格式:

      Untitled

      • [s]: SYN, 表示开始连接
      • [F]: FIN, 表示结束连接
      • seq: 包序号,就是TCP的确认分组
      • cksum:检验码
      • win:滑动窗口大小
      • length:承载的数据(payload)长度 length,如果没有数据则为0
    • Example:

      • 抓的包是 TCP,且端口是 80,包来自 IP 地址为 192.168.1.25 的主机地址:

        tcpdump ‘tcp and port 80 and src host 192.168.1.25’

      • tcpdump ‘tcp and port 80 tcp[13:1]&2 != 0’

        tcp[13:1] 表示的是TCP头部开始偏移为13的字节,如果这个值为2,说明设置了SYN 分节

    • 使用wireshark图形展示抓的包

      • 安装:yum install wireshark-gnome
  • netstat:查看连接状态信息
    • -n :使用ip的形式展示
    • -t :只展示TCP的方式
    • -p :进程
    • -l :listen 状态
    • -a : 展示listen 与 non-listen的通信信息
    • Eg :netstat -ntpl
  • lsof: 查看端口被占用
  • ss:更详细有关TCP和连接状态信息,还可以用来统计socket统计信息
    • 命令解释与netstat 基本相同
    • Eg :ss -ntpl