linux查看网络连接情况命令之-netstat

linux查看网络连接情况命令
netstat 参数以下:
-a 显示全部socket,包括正在监听的。
-c 每隔1秒就从新显示一遍,直到用户中断它。
-i 显示全部网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络链接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的链接状况。
-u 显示UDP协议的链接状况。
-v 显示正在进行的工做。linux

  1. netstat -an | grep LISTEN
    0.0.0.0的就是每一个IP都有的服务,写明哪一个IP的就是绑定那个IP的服务。
  2. netstat -tln
    用来查看linux的端口使用状况
  3. /etc/init.d/vsftp start
    是用来启动ftp端口~!
  4. netstat
    查看已经链接的服务端口(ESTABLISHED)
  5. netstat -a
    查看全部的服务端口(LISTEN,ESTABLISHED)
  6. sudo netstat -ap
    查看全部的服务端口并显示对应的服务程序名
  7. nmap <扫描类型><扫描参数>
    例如:
    nmap localhost
    nmap -p 1024-65535 localhost
    nmap -PT 192.168.1.127-245
    当咱们使用 netstat -apn 查看网络链接的时候,会发现不少相似下面的内容:
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 52 218.104.81.152:7710 211.100.39.250:29488 ESTABLISHED 6111/1
    显示这台服务器开放了7710端口,那么这个端口属于哪一个程序呢? 咱们能够使用 lsof -i :7710 命令来查询:
    COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
    sshd 1990 root 3u IPv4 4836 TCP *:7710 (LISTEN) 54com.cn
    这样,咱们就知道了7710端口是属于sshd程序的。

    下面这个语句是一个很是好的查看TCP链接状态的语句:服务器

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’网络

返回结果示例:ssh

LAST_ACK 5
SYN_RECV 30
ESTABLsocket