什么是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. TS流解析 二 *****

    1.TS格式介绍 TS:全称为MPEG2-TS.TS即"Transport Stream"的缩写.它是分包发送的,每一个包长为188字节(还有192和204个字节的包).包的结构为 ...

  2. 解决标准FPGA资源丰富却浪费的问题

    FPGA以计算速度快.资源丰富.可编程著称,之前一直应用于高速数字信号领域和ASIC验证.随着逻辑资源的丰富和编程工具的改进,FPGA在机器学习和硬件加速上得到越来越多的重视,目前数据中心已经大量采用 ...

  3. bzoj 3965: [WF2011]Pyramids

    Description 如果你有足够的石块,那么建一座金字塔绝不算难事.举个例子,在一块平地上,我们铺一个10*10的矩形,然后在10*10的矩形上面铺一个9*9的,然后8*8的……以此类推,直到顶上 ...

  4. [Winform][C#]获取系统颜色预定义颜色和现有字体集

    转自: http://zhidao.baidu.com/link?url=ozY7tJRNBYHUsImE6jn1psqc8owib7MWcDMEmZw48q8iD9Hz9MWgnQQcBDO0VYO ...

  5. NFS 相关操作指令

    1.启动NFS服务器 为了使NFS服务器能正常工作,需要启动portmap和nfs两个服务,并且portmap一定要先于nfs启动. #service portmap start #service n ...

  6. windows8.1中组件服务DCOM配置里属性灰色不可修改的解决办法

    由于电脑升级,更换成了windows8.1的64位操作系统,今天遇到组件服务中DCOM配置里IIS Admin Service属性呈现灰色,不能修改. 查找官方文档,原来这是win8.1 x64的安全 ...

  7. leetcode441

    public class Solution { public int ArrangeCoins(int n) { //convert int to long to prevent integer ov ...

  8. Android bitmap转byte

    逆转start协议输出 private static byte[] bitmap2byte(Bitmap bmp) throws Exception{ return bitmap2byte(bmp, ...

  9. FME2010 案例分析: 动态批量转换

    Link: http://blog.163.com/antufme@126/blog/static/140492492201022545726452/?suggestedreading&wum ...

  10. java基础二(阅读Head First Java记录)

    写在前面的话 本部分是在语法基础上的一些内容,比如内部java函数库,继承多态等   “与”和“或”运算符 1.短运算符(&&,||)    &&与,必须表达式两边都为 ...