网络排错与查看(ping,traceroute,nestat,ss,host,nslookup)

1.两台主机的两点沟通:ping

(主要通过ICMP数据包来进行整个网络的状态报告)
ping [参数与选项] IP

参数与选项:
  -c 数值:后面接执行ping次数,eg:-c 5
  -n    :直接使用IP输出
  -s 数值:发出去的ICMP数据包大小
  -t  数值:TTL数值,默认为255,每经过一个节点就会少1
  -M [do|dont]:主要检测网络的MTU数值大小
           do : 代表传送一个DF(Don't Fragment)标志,让数据包不能重新拆包与打包
           dont:代表不要传送DF(Don't Fragment)标志,表示数据包在其他主机上拆包与打包
网络排错与查看(ping,traceroute,nestat,ss,host,nslookup)_第1张图片
Paste_Image.png
64 bytes :表示这次发送的ICMP数据包为 64 bytes,这是默认值,可以用-s更改
icmp_seq=1:ICMP检测的次数,第一次编号为1
ttl=64:生存周期,每经过一个带有MAC节点就会减1,-t可以指定   
       如果你的主机和待测主机不在同一个网络内,那么TTL默认使用255,
       如果是在同一个网络内,默认为64
time:响应时间,越小的响应时间,表示两个主机的连接越良好

eg:

# ping -c 2 -s 1000 -M do 192.168.1.254

2.两主机间各节点分析:traceroute

traceroute [options] IP

options:
     -n:不必进行主机的名称解析,单纯用IP,速度快
     -U:使用UDP检测,默认的检测协议
     -I:使用ICMP方式进行检测
     -T:使用TCP检测,一般使用port 80检测
     -w:若对方主机在几秒内没回应则证明不通,默认为5s
     -p 端口号:若不行用UDP和TCP默认端口检测,可以在此改变端口号
     -i: 用在复杂的网络环境 ,如果网络接口很复杂时,才会用到这个参数  
# traceroute -w 3 -n -T www.baidu.com

3.查看本机的网络连接与后门netstat

(1)显示网络连接:
netstat - [rn] <==与路由有关的参数

-r:列出路由表,如同route
-n: 数字格式,不使用主机名与服务名称,如同route -n

netstat -[antulpc] <==与网络接口有关的参数

-t: tcp协议相关
-u: udp协议相关
-w: raw socket相关
-l: 处于监听状态
-a: 所有状态
-n: 以数字显示IP和端口;
-e:扩展格式
-p: 显示相关进程及PID
-c:可以设置几秒自动更新一次

(2)常用组合:

-tan, -uan, -tnl, -unl

(3)显示接口统计数据:

netstat -i
netstat –I=IFACE
ifconfig -s eth0

eg:

# netstat -tulnp 显示目前已启动的网络服务
# netstat -atunp 查看本机上所有的网络连接状态
网络排错与查看(ping,traceroute,nestat,ss,host,nslookup)_第2张图片
Paste_Image.png
Proto:该链接的数据包协议
Recv-Q:由非用户程序连接所复制而来的总bytes数
Send-Q:由远程主机发送而来,但不具有ACK标志的总bytes数,亦指主动连接SYN或其它标志的数据包所占的bytes数
Local Address:本地端的地址
Foreign Adress:远程的主机IP与port number
Stat:状态栏,主要的状态有:
      ESTABLISHED:已建立连接的状态
      SYN_SENT:发出主动连接(SYN标志)的连接数据包
      SYN_RECV:接收到一个要求连接的主动连接的数据包
      FIN_WAIT1:该套接字服务(socket)已中断,该链接正在断线当中
      FIN_WAIT2:该链接已挂断,但正在等待对方主机响应断线确认的数据包
      TIME_WAIT:该链接已挂断,但socket还在网络上等待结束
      LISTEN:通常用在服务的监听port,可使用“-l”参数查阅
      PID:进程号client端是随机开放一个大于1024port进行连接,
            此外只有root可以启动小于1024port

4.ss命令

ss [OPTION]... [FILTER]

  • (netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag
    模块通信获取socket信息)
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息

 FILTER : [ state TCP-STATE ] [ EXPRESSION ]
 TCP的常见状态:

tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED
 EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
  • 常用组合:-tan, -tanl, -tanlp, -uan
 ss -l 显示本地打开的所有端口
 ss -pl 显示每个进程具体打开的socket
 ss -t -a 显示所有tcp socket
 ss -u -a 显示所有的UDP Socekt
 ss -o state established '( dport = :ssh or sport = :ssh)' 显示所有已建立的ssh连接
 ss -o state established '( dport = :http or sport =:http )' 显示所有已建立的HTTP连接
 ss -s 列出当前socket详细信息

5.检测主机名与IP的对应:host、nslookup

(1)host 查处某个主机名的IP
host [-a] hostname [server]

-a 列出该主机详细的各项主机名设置数据
[server] 可以使用不是由/etc/resolv.conf文件定义的DNS服务器IP来查询

dig命令更详细,如有需要可以查询
eg:

# host www.baidu.com
# host www.baidu.com 211.161.46.84(指定DNS)

(2)配置当前主机的主机名:

/etc/sysconfig/network
HOSTNAME=

(3)解析器执行正向和逆向查询
(4)/etc/hosts

• 本地主机名数据库和IP地址的映像
• 对小型独立网络有用
• 通常,在使用DNS前检查
• getent hosts 查看/etc/hosts 内容

(2)nslookup
IP<======>主机名
nslookup [-query=[type]] [hostname|IP]

-query=type:查询的类型

eg:

# nslookup www.gooogle.com
# nslookup 172.18.252.101

你可能感兴趣的:(网络排错与查看(ping,traceroute,nestat,ss,host,nslookup))