什么是netstat

    在Linux系统中输入 man netstat,显示的结果如下所示:

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

    从上面可以看出netstat命令的主要功能为:

  • 显示网络连接信息
  • 显示路由表信息
  • 显示网卡统计信息
  • 显示无效的连接信息
  • 显示组播成员信息

   当我们看完介绍往下的时候,会看到如下的提示信息:

This program is obsolete.  Replacement for netstat is ss.  Replacement for netstat -r is ip route.  Replacement for netstat -i is ip  -s  link.
Replacement for netstat -g is ip maddr.

    从上面这段话可以看到netstat已经不再维护被ssip命令所代替了。详细代替命令如下所示:

ss命令

    ss是Socket Statistics的缩写,是用于统计socket信息。几乎所有的Linux系统都会默认包含netstat命令,但并非所有的系统都会默认包含ss命令。netstat是net-tool的成员,而ss是iproute2的成员,如果出现无法使用ss命令时,可以使用

yum -y install iproute iproute-doc

进行安装。iproute2是一套可以支持IPv4/IPv6网络且用于管理TCP/UDP/IP网络的软件包,因此iproute2几乎可以代替net-tool的软件包。以下是对比结果:

用途 net-tool iproute2
地址和链路配置 ifconfig ip addr ,ip link
路由表 route ip route
arp表 arp ip neigh
VLAN vconfig ip link
隧道 iptunnel ip tunnel
组播 ipmaddr ip maddr
统计 netstat ss

基本语法

ss [选项] [参数]

常用选项参数如下所示:

选项 说明
-h,--help 显示帮助信息
-V,--version 显示版本信息
-n,--numeric 以数字形式显示,不解析服务名称
-r,--resolve 解析主机名称和端口
-a,--all 显示所有信息,包含监听和非监听的信息
-l,--listening 仅显示监听信息
-o,--options 显示计时器信息
-e,--extended 显示详细的Socket信息
-m,--memore 显示Socket的内存使用信息
-p,--processes 显示使用Socket的进程信息
-i,--info 显示TCP内部信息
-s,--summary 显示Socket的使用概况
-4,--ipv4 仅显示ipv4的Socket信息
-6,--ipv4 仅显示ipv6的Socket信息
-t,--tcp 仅显示TCP的Socket信息
-u,--udp 仅显示UDP的Socket信息
-d,--dccp 仅显示DCCP的Socket信息
-w,--raw 仅显示RAW的Socket信息
-s,--sctp 仅显示SCTP的Socket信息
-K,--kill 尝试强制关闭Socket

示例

1.查看当前服务器的网络连接信息

当服务器有大量的Socket连接时,可以用来做宏观统计

2.查看所有打开的网络端口

ip命令

    ip命令用来显示或配置Linux主机的路由、网络设备、策略路由和隧道。

基本语法

ip [选项] 对象 {命令 | 帮助}

常用选项参数如下所示:

选项 说明
-V,--Version 显示版本信息
-h,--human 以易于读取的方式输出信息
-s,--statistics 显示详细的统计信息
-f,--family 指定使用的协议类型,协议类型主要有:inet,inet6,bridge,ipx, dnet,mpls,link ,如果未指定协议类型,则系统根据后面的参数自行决定所采用的协议类型
-4 --family inet的简写
-6 --family inet6的简写
-B --family bridge的简写
-0 --family link的简写
-o,--oneline 每条记录单独一行输出
-r,--resolve 查询DNS解析系统,使用主机名代替主机IP地址
-c,--color 对显示的信息进行颜色标识
-t,--timestamp 增加时间戳
-ts,--tshort 与-t参数类似,以短时间形式显示
-iec 以易于读取的形式显示速率信息,如1Ki=1024

    对象是要管理或获取信息的对象,常用的对象如下所示:

对象 说明
address 设备上的协议(IPv4/IPv6)地址
l2tp IP上面的隧道(L2TPv3)
link 网络设备
maddress 多播地址
mroute 多播路由缓冲条目
route 路由表条目
rule 路由规则
tcp_metrics/tcpmetrics tcp转发优先级
tunnel IP上的隧道

   命令是用于指定对象上的操作行为,常见的命令如下所示:

命令 说明
add 增加操作
del 删除操作
show/list 显示操作
如果命令用户没有指定,则系统会自动指定操作行为,如show或list

示例

1.添加IP地址:

ip addr add 192.168.8.8/24 dev ens0

2.显示IP地址

ip addr show

ip addr list

ip addr

3.删除IP地址

ip addr del 192.168.8.8/24 dev ens0

4.启用/禁用网卡

启用网卡
ip link set ens0 up
禁用网卡
ip link set ens0 down

5.显示路由信息

ip route show

6.增加路由信息

ip route add 192.168.8.8/24 via 192.168.8.1
via 192.168.8.1 后面是网关

7.设定网卡仅转发

ip route add 192.168.8.8 dev ens0

8.删除路由

ip route del 192.168.8.8/24 via 192.168.8.1
ip route del 192.168.8.8 dev ens0

9.指定默认网关

ip route add default via 192.168.8.1

默认网关作用很简单明确,当一台主机找不到匹配的转发规则,则把数据转发给默认网关,由该网关进行处理。

10.删除默认网关

ip route del default

11.为不同的源IP指定路由选择

   当一个主机有多个网卡且配置了多个IP的时候,对于不同网卡产生的网络数据包,则需要根据其源IP地址选择不同的路由信息,如下所示:

ip route add 192.168.8.0/0 via 192.168.8.1 src 192.168.8.8

   上面这个命令的意思就是发到192.168.8.0/0网段的所有网络包,下一跳的路由器IP是192.168.8.1,包的源IP地址为:192.168.8.8

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:

Linux 基础教程 27-ss和ip命令的更多相关文章

  1. 嵌入式LINUX基础教程 第2版

    嵌入式LINUX基础教程  第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...

  2. Linux 基础教程 44-history命令

    什么是history     在Linux系统日积月累的使用中,我们会输入很多命令.而在我们想重复上一个命令时,通过使用方向键向上翻就可以查看我们已经输入和使用过的命令.那大家有没有想过这个命令保存在 ...

  3. Linux 基础教程 43-su和sudo命令

        在使用Linux系统中,有时候还需要做身份切换,这是为什么? 使用普通账号:系统日常操作的好习惯   虽然使用root对系统进行各种操作不受权限等方面的限制,但却存在重大的安全隐患,假如有人不 ...

  4. Linux 基础教程 37-进程命令

    pidof     我们知道每个小孩一出生就会一个全国唯一的编号来对其进行标识,用于以后上学,办社保等,就是我们的身份证号.那么在Linux系统中,用来管理运行程序的标识叫做PID,就是大家熟知的进程 ...

  5. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  6. Linux基础教程

    Linux基础教程之<Linux就该这么学>之学习笔记第一篇... ========================= 一.Basic Linux Commands    基本的Linux ...

  7. Linux 基础教程 32-解压缩命令

        将文件压缩后对提升数据传输效率,降低传输带宽,管理备份数据都有非常重要的功能,因此文件压缩解压技能就成为必备技能.相对于Windows中的文件解压缩工具百花争艳,在Linux中的解压缩工具则要 ...

  8. Linux 基础教程 30-tcpdump命令-2

        在上一节讲了一些tcpdump常用功能,本期我们继续学习tcpdump后续功能. 流量过滤     tcpdump不仅支持单个过滤表达式过滤,也还支持多个过滤表达式.但需要注意的是传入的过滤表 ...

  9. Linux 基础教程 29-tcpdump命令-1

    什么是tcpdump     在Linux中输入命令man tcpdump给出的定义如下所示: tcpdump - 转储网络上的数据流 是不是感觉很懵?我们用通俗.形象.学术的表达方式来全方位描述tc ...

随机推荐

  1. Think in java.chm 第14章 多线程

    例子1引入线程概念通过得到当前线程方式循环主线程做某事 例子2演示了在主线程之外开启多个线程的基本方式 ( new一个extends Thread ) 例子3 ( task extends Threa ...

  2. centos7 安装 elasticsearch

    安装java环境 这里使用yum方式安装,前提是必须有网络 yum install java-1.8.0-openjdk 安装完成,查看java版本 [root@localhost ~]# java ...

  3. suse 安装gcc

    1)挂载ISO镜像 新建一个目录: mkdir /mnt/iso 将ISO文件挂载到该目录上: mount -o loop /opt/SLES-11-SP3-DVD-x86_64-GM-DVD1.is ...

  4. python之CMDB

    浅谈ITIL TIL即IT基础架构库(Information Technology Infrastructure Library, ITIL,信息技术基础架构库)由英国政府部门CCTA(Central ...

  5. FTP和TCP、UDP

    应用:TFTP客户端 1. TFTP协议介绍 TFTP(Trivial File Transfer Protocol,简单文件传输协议) 是TCP/IP协议族中的一个用来在客户端与服务器之间进行简单文 ...

  6. linux版飞信安装

    下载安装包; http://www.it-adv.net/fetion/libraryrh4x32.tar.gz  [支持库] http://www.it-adv.net/fetion/downloa ...

  7. vue简单介绍

    最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在 ...

  8. win10 修改hosts

    win10 修改hosts,是权限的问题, C:\Windows\System32\drivers\etc\hosts 添加权限即可. http://jingyan.baidu.com/article ...

  9. SSH中将hibernate托管给spring获取session的方法

    import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionF ...

  10. 如何快速选中某单元格所在的整行或整列 Excel教程

    我们可以使用快捷键的操作来快速选中B3单元格所在的整行或整列,操作方法如下,请大家参阅! 一.正规的快捷键操作 ①快速选中整行 按下键盘上的 Shift Space 即同时按下键盘上的Shift 空格 ...