首页 > 代码库 > linux下网络排错以及查看网络信息命令

linux下网络排错以及查看网络信息命令

ping命令利用icmp协议(echorequest----echo reply包)来实现

选项

-c 次数  指定ping几次后退出

-W 时间  指定最大等待时间

 

注:如有大量ping请求发到本主机,会影响本机其他网络服务。

 

ping输出详解

rtt:请求报文的响应时间

报错信息:timeout关键字:原因有2种:1,无此主机 2,对方主机不响应

目标主机不可达:这个去查rfc文档(学习网络协议的好方法就是看rfc文档),有中文版的!

 

判断主机是否在线的脚本:

1

for .. in ..;do ping –c1 –W1 x.x.x.$i  &>/dev/null && echo “online:x.x.x.$i” ||echo “offline x.x.x.$i”;done

2)

for .. in ..;do if ping –c1 –W1x.x.x.$i  &>/dev/null ;then echo “online:x.x.x.$i” ;else echo “offline x.x.x.$i”;fi;done

3)快速ping方法

for .. in ..;do(ping –c1 –W1 x.x.x.$i &>/dev/null && echo “online: x.x.x.$i” ||echo “offlinex.x.x.$i”) &;done|sort –t. -n –k4

 

traceroute命令:跟踪到目标主机需要经过多少router

 

TCP有限状态机:标识基于TCP的协议的连接所处的状态---mag学习笔记目录下同名图片

 

netstat命令  选项

-t 查看tcp已建立的连接

-u 查看ucp已建立的连接

-a ==   -tu

-p 显示pid/程序名称

-rn 显示本地路由表(不反解域名)

-l 显示处于监听状态的服务

-n 以数字格式显示端口号、主机名(IP),不反向解析IP,不解析端口号对应的服务名

*常用选项组合-tunlp *UDP是无连接的因此没有LISTEN这个状态,

可用选项-tn | -tnl 只显示tcp连接信息

  • -c选项显示输出且不退出命令,可以动态显示连接状况,可用命令#netstat –tnc 5试一下,这条命令指定刷新时间为每5秒刷新一次,不指定默认每一秒刷新一次。

-e 显示扩展信息,例如user  inode列等等很多,-tne选项试一下

 

在本机有大量连接时,netstat命令执行速度较慢,ss命令由iproute2软件包提供,功能类型netstat,在本机有大量连接时执行速度快于netstat

 

ss命令选项

-t 查看tcp已建立的连接

-t -a 查看tcp已建立的连接,以及监听中的服务

-u 查看ucp已建立的连接

-u -a 查看ucp已连接,以及等待连接的服务

常用选项–tua

-l 显示监听中的套接字

-m 显示套接字使用的内存信息

-e 显示扩展信息

-s 显示统计信息

-p 显示pid/程序名称

 

ss还可以指定过滤条件来显示连接#man ss

ss -ta  state established ‘( dport =:ssh )’

ss -tan  state established ‘( dport =:22 or sport = :22 )’

 


本文出自 “就让我更饿一点” 博客,请务必保留此出处http://ufirst.blog.51cto.com/7628670/1432611