Xiaopei's DokuWiki

These are the good times in your life,
so put on a smile and it'll be alright

User Tools

Site Tools


it:linux:network_admin

网络管理和调试

网络故障的检测

原则

  • 每次只做一处改动, 并测试每一处改动以保证它已经达到了期望的效果. 如果没有达到预期的效果, 就要撤销所作的任何更改.
  • 在采取行动之前记录下当时的情况, 并对整个过程中的每一处改动做记录
  • 从系统或网络的某个“端点”开始, 沿着系统的关键性组件开展工作, 知道搞清楚问题为止
  • 定期沟通, 用户/ISP/系统管理员/电信工程师/网络管理员等
  • 作为团队开展工作, 平等地相互帮助
  • 按网络的层级来处理问题
    1. 物理连接和链路的指示灯是否亮?
    2. 接口配置正确么?
    3. ARP 表能显示出其他主机么?
    4. 可以 ping 通 localhost 么?
    5. 可以用 IP ping 通其他本地主机么?
    6. 可以 ping 通另一个网络上的主机么?
    7. 高层服务是否能工作?

tips

  • 用 mtr 跟踪路由 (替代 tracepath traceroute)
    $ mtr -n baidu.com
  • 当你的机器在内网的时候,可以通过这个命令查看外网的IP (http://ifconfig.me/)
    $ curl ifconfig.me
  • 一句话实现一个HTTP服务,把当前目录设为HTTP服务目录
    $ python -m SimpleHTTPServer
  • sudo mii-tool 可用来查看网口状态, 线是否插了
  • 让 eth0 灯亮
    # ethtool -p eth0 10
  • ifplugstatus 检测是否插网线了

netstat

技术|netstat 的10个基本用法

# 查看哪个进程占用了最多出口连接
[root@yy-yjj-sixhome01 supervisor]# netstat -atp | awk '{print $5,$6,$7}' | sort | uniq -c  | sort -n | tail
        Foreign Address  State     PID/Program name
     19 zk1:XmlIpcRegSvc TIME_WAIT -
     20 10.91.12.176:6379 ESTABLISHED 4218/scheduler
     20 10.91.14.199:mysql ESTABLISHED 4216/server
     20 10.91.14.199:mysql ESTABLISHED 4218/scheduler
     62 zk3:XmlIpcRegSvc TIME_WAIT -
     72 localhost:60051 TIME_WAIT -
    123 10.91.90.217:8255 TIME_WAIT -
   6334 zk1:XmlIpcRegSvc ESTABLISHED 4218/scheduler
   6717 zk2:XmlIpcRegSvc ESTABLISHED 4218/scheduler
   9986 zk3:XmlIpcRegSvc ESTABLISHED 4218/scheduler

nslookup

  • 查看 MX 记录
nslookup
>set type=MX
>geneegroup.com

nmap

常见端口

11211 memcached

查看流量

  • iptraf, 按 iface、port 查看
    $ sudo iptraf -g
    # g for the General interface statistics, start immediately

  • nethogs, 按 进程 查看
    $ sudo nethogs

  • watch ifconfig

ss: Socket Statistics

ss 利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。

要注意 sudo ss 才会显示全部 socket.

Examples

我想查看当前服务器的网络连接统计

$ sudo ss -s
Total: 295 (kernel 312)
TCP:   48 (estab 1, closed 31, orphaned 0, synrecv 0, timewait 0/0), ports 13
 
Transport Total     IP        IPv6
*         312       -         -
RAW       0         0         0
UDP       2         2         0
TCP       17        12        5
INET      19        14        5
FRAG      0         0         0

在服务器产生大量sockets连接时,我们会使用这个命令在做宏观统计。

我想查看所有打开(listen)的网络端口

$ sudo ss -l
Recv-Q Send-Q           Local Address:Port               Peer Address:Port
0      128                         :::webcache                      :::*
0      128                         :::http                         :::*
0      128                         :::snapenetio                      :::*
0      128                          *:snapenetio                       *:*
0      50                           *:8531                          *:*
0      9                           :::ftp                          :::*
0      9                            *:ftp                           *:*
0      128                          *:ddi-tcp-1                       *:*
0      100                        ::1:smtp                         :::*
0      100                  127.0.0.1:smtp                          *:*
0      128                          *:8541                          *:*
0      128                  127.0.0.1:entextxid                       *:*
0      50                           *:12421                         *:*
0      10                           *:amqp                          *:*
0      128                          *:12521                         *:*
0      50                           *:mysql                         *:*

我想查看这台服务器上所有的 socket 连接

$ sudo ss -a

可以与 -l, -a 一起使用的有

-p列出具体的程序名称
-n不翻译端口
-tonly TCP
-uonly UDP
-wRAW sockets
-xUNIX sockets

nc — arbitrary TCP and UDP connections and listens

  1. 检测端口是否通, 但不连接
    $ nc -z baidu.com 80
    $ echo $?
  2. 服务器之间传送文件
  3. http命令行客户端,如短信报警工具
  4. 服务器端口扫描
  5. 在服务器上临时开一个后门
    # 监听 1989 端口
    $ nc -l 1989
  6. 专用设备只支持交互式命令,用nc实现自动的数据抓取

refs

it/linux/network_admin.txt · Last modified: 2017/11/09 15:11 by admin