Linux 基础教程 27-ss和ip命令
什么是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已经不再维护被ss和ip命令所代替了。详细代替命令如下所示:
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命令的更多相关文章
- 嵌入式LINUX基础教程 第2版
嵌入式LINUX基础教程 第2版 目录 第1章 入门 11.1 为什么选择Linux 11.2 嵌入式Linux现状 21.3 开源和GPL 21.4 标准及相关组织 31.4.1 Linux标准基 ...
- Linux 基础教程 44-history命令
什么是history 在Linux系统日积月累的使用中,我们会输入很多命令.而在我们想重复上一个命令时,通过使用方向键向上翻就可以查看我们已经输入和使用过的命令.那大家有没有想过这个命令保存在 ...
- Linux 基础教程 43-su和sudo命令
在使用Linux系统中,有时候还需要做身份切换,这是为什么? 使用普通账号:系统日常操作的好习惯 虽然使用root对系统进行各种操作不受权限等方面的限制,但却存在重大的安全隐患,假如有人不 ...
- Linux 基础教程 37-进程命令
pidof 我们知道每个小孩一出生就会一个全国唯一的编号来对其进行标识,用于以后上学,办社保等,就是我们的身份证号.那么在Linux系统中,用来管理运行程序的标识叫做PID,就是大家熟知的进程 ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux基础教程
Linux基础教程之<Linux就该这么学>之学习笔记第一篇... ========================= 一.Basic Linux Commands 基本的Linux ...
- Linux 基础教程 32-解压缩命令
将文件压缩后对提升数据传输效率,降低传输带宽,管理备份数据都有非常重要的功能,因此文件压缩解压技能就成为必备技能.相对于Windows中的文件解压缩工具百花争艳,在Linux中的解压缩工具则要 ...
- Linux 基础教程 30-tcpdump命令-2
在上一节讲了一些tcpdump常用功能,本期我们继续学习tcpdump后续功能. 流量过滤 tcpdump不仅支持单个过滤表达式过滤,也还支持多个过滤表达式.但需要注意的是传入的过滤表 ...
- Linux 基础教程 29-tcpdump命令-1
什么是tcpdump 在Linux中输入命令man tcpdump给出的定义如下所示: tcpdump - 转储网络上的数据流 是不是感觉很懵?我们用通俗.形象.学术的表达方式来全方位描述tc ...
随机推荐
- panabit允许一台代理服务器只能收QQ企业邮箱,和内网ip通讯,限制除了QQ企业邮箱以外的所有内容规则
环境: 可访公网网的内网网段:192.168.0.0/24(员工网段) 192.168.2.0/24(服务器网段)两个内网网段. 不能访问公网的内网网段:192.168.4.0/24 4网段利用fo ...
- 建立SSH隧道从外网访问内网服务器
http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examp ...
- ASI接口
Asynchronous Serial Interface ,异步串行接口,用于传送码流的一个标准DVB接口. 在目前的DVB-C系统设备的传输接口有两种MPEG2视频码流传输接口标准:异步串行接口A ...
- erlang和ruby互相调用
erlang调用ruby https://github.com/mojombo/erlectricity ruby调用erlang https://github.com/davebryson/rint ...
- MVC confirm提示
//审核不同意 $("#shbtg").click(function () { $.messager.confirm("提示", "不通过则会被删除, ...
- Solr聚合查询
1 分组查询 概述:Solr常用的分组查询有两种,Facet分组和Group分组,分别以下列出这两种查询: 1.1 Facet分组 solr种以导航为目的的查询结果成为facet,在用户 ...
- zabbix使用之打造邮件报警
zabbix使用之打造邮件报警 前言: 报警信息很重要,它能使我们最快的知道故障内容,以便于及时处理问题.zabbix如果没配置报警功能,则完全不能体现zabbix的优势了 配置详情如下: 1.编写发 ...
- findbug、p3c、checkstyle、sonar安装使用
idea插件安装方式: Preferences—>Plugins—>查找插件—>Install Preferences—>Plugins—>Install plug fr ...
- FireDAC 之FDMetaInfoQuery
FDMetaInfoQuery http://docs.embarcadero.com/products/rad_studio/firedac/frames.html http://docwiki.e ...
- MySQL备份恢复全实战
一. 简介 1. 增量备份 增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味着,第一次增量 备份的对象是进行全备后所产生的增加和修改的文件; ...