什么是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一声令下所代替了。详细代替命令如下所示:

澳门金沙国际 1

Linux系统中查看、操作互连网有关属性有3种方法:命令、配置文件、交互式工具

现今触目皆是系统一管理理员仍旧通过整合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来布置网络成效,消除互联网故障。net-tools起点于BSD的TCP/IP工具箱,后来变为老版本Linux内核中配置网络效用的工具。但自二零零零年起,Linux社区已经对其停下维护。同时,一些Linux发行版比如Arch
Linux和CentOS/景逸SUVHEL 7则已经完全撤除了net-tools,只援救iproute2。

用作互联网布局工具的一份子,iproute2的产出意在从效益上代表net-tools。net-tools通过procfs(/proc)和ioctl系统调用去做客和改变内核互联网安顿,而iproute2则通过netlink套接字接口与基本通信。抛开品质而言,iproute2的用户接口比net-tools显得特别直观。比如,种种互联网财富(如link、IP地址、路由和隧道等)均使用合适的指标抽象去定义,使得用户可应用同一的语法去管理分裂的对象。更首要的是,到方今截止,iproute2仍居于不断开发中。

借使您仍在行使net-tools,而且越是须求跟上新版Linux内核中的最新最关键的网络特色的话,那么是时候转到iproute2的营垒了。原因就在于应用iproute2能够做过多net-tools无法做到的政工。

对于那多少个想要转到使用iproute2的用户,有必不可少领会下边关于net-tools和iproute2的许多比照。

Linux中“新旧”TCP/IP最新工具的对照

后天无数系统管理员依然通过整合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来计划网络成效、消除互连网故障,net-tools源点于BSD的TCP/IP工具箱,后来成为老版本Linux内核中布局互连网成效的工具。但自2003年起,Linux社区已经对其结束维护,甚至部分Linux发行版比如Arch
Linux和CentOS/LANDHEL
7则早已完全撤除了net-tools,只辅助iproute2,对于互连网安排工具而言,iproute2的面世意在从功能上代表net-tools。

澳门金沙国际 2
那那两者有什么差别吧?net-tools通过procfs(/proc)和ioctl系统调用去访问和改动内核网络布局,而iproute2则经过netlink套接字接口与基础通信。抛开品质而言,iproute2的用户接口比net-tools显得愈加直观,到最近结束,iproute2仍居于不断开发中,假使你仍在行使net-tools,而且越是供给跟上新版Linux内核中的最新最关键的网络特征的话,那么是时候转到iproute2的营垒了,因为运用iproute2能够做过多net-tools不能够做到的事务。

下边来举多少个例子:

壹 、呈现全体已连接的网络接口##下边包车型地铁吩咐展现出具有可用网络接口的列表(无论接口是或不是激活)。

使用net-tools:

$ ifconfig -a

使用iproute2:

$ ip link show

贰 、激活或停用网络接口##行使那一个命令来激活或停用有些钦命的网络接口。

使用net-tools:

$ sudo ifconfig eth1 up$ sudo ifconfig eth1 down

使用iproute2:

$ sudo ip link set down eth1$ sudo ip link set up eth1

三 、为网络接口分配IPv4地址##利用这一个命令配置网络接口的IPv4地址。
使用net-tools:

$ sudo ifconfig eth1 10.0.0.1/24

使用iproute2:

$ sudo ip addr add 10.0.0.1/24 dev eth1

值得注意的是,能够动用iproute2给同2个接口分配多少个IP地址,ifconfig则无从这么做。使用ifconfig的变化方案是选用IP别称。

$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1

四 、移除网络接口的IPv4地址##就IP地址的移除而言,除了给接口分配全0地址外,net-tools没有提供任何方便的办法来移除网络接口的IPv4地址,相反,iproute2则能很好地完全。

使用net-tools:

$ sudo ifconfig eth1 0

使用iproute2:

$ sudo ip addr del 10.0.0.1/24 dev eth1

五 、突显互联网接口的IPv4地址##遵纪守法如下操作可查看某些钦命互连网接口的IPv4地址。

使用net-tools:

$ ifconfig eth1

使用iproute2:

$ ip addr show dev eth1

相同,如若接口分配了多少个IP地址,iproute2会突显出具有地方,而net-tools只能突显贰个IP地址。
⑥ 、为互连网接口分配IPv6地址##选取那些命令为网络接口添加IPv6地址。net-tools和iproute2都允许用户为贰个接口添加五个IPv6地址。

使用net-tools:

$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64

使用iproute2:

$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1

七 、展现互连网接口的IPv6地址##依照如下操作可兆示某些内定互联网接口的IPv6地址。net-tools和iproute2都得以展现出全数已分配的IPv6地址。

使用net-tools:

$ ifconfig eth1

使用iproute2:

$ ip -6 addr show dev eth1

⑧ 、移除网络设施的IPv6地址##行使这个命令可移除接口中不须求的IPv6地址。

使用net-tools:

$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64

使用iproute2:

$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1

玖 、改变互连网接口的MAC地址##利用上面的下令可篡改网络接口的MAC地址,请留目的在于改变MAC地址前,要求停用接口。

使用net-tools:

$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66

使用iproute2:

$ sudo ip link set dev eth1 address 08:00:27:75:2a:67

10、查看IP路由表##来得内核的IP路由表:route和netstat。在iproute第22中学,使用命令ip
route。

使用net-tools:

$ route -n$ netstat -rn

使用iproute2:

$ ip route show

*基础教程,IP最新工具的比较。*1壹 、添加和修改暗许路由##此处的通令用来添加或涂改内核IP路由表中的暗中认可路由规则。请留目的在于net-tools中可因此抬高新技术的暗许路由、删除旧的私下认可路由来贯彻修改私下认可路由。在iproute2使用ip
route命令来顶替。

使用net-tools:**

$ sudo route add default gw 192.168.1.2 eth0$ sudo route del default gw 192.168.1.1 eth0

使用iproute2:

$ sudo ip route add default via 192.168.1.2 dev eth0$ sudo ip route replace default via 192.168.1.2 dev eth0

1② 、添加和移除静态路由##行使上边发号施令添加或移除二个静态路由。
使用net-tools:

$ sudo route add -net 172.16.32.0/24 gw 192.168.1.1 dev eth0$ sudo route del -net 172.16.32.0/24

使用iproute2:

$ sudo ip route add 172.16.32.0/24 via 192.168.1.1 dev eth0$ sudo ip route del 172.16.32.0/24

1三 、查看套接字总括消息##此地的通令用来查看套接字总计消息(比如活跃或监听状态的TCP/UDP套接字)。
澳门金沙国际,使用net-tools:

$ netstat$ netstat -l

使用iproute2:

$ ss$ ss -l

14、查看ARP表##动用那几个命令展现内核的AENVISIONP表。
使用net-tools:

$ arp -an

使用iproute2:

$ ip neigh

1⑤ 、添加或删除静态AEscortP项##依照如下操作在地方A兰德EvoqueP表中添加或删除二个静态AWranglerP项。
使用net-tools:

$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef$ sudo arp -d 192.168.1.100

使用iproute2:

$ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0$ sudo ip neigh del 192.168.1.100 dev eth0

1六 、添加、删除或查看多播地址##使用下边包车型客车指令配置或查看互联网接口上的多播地址。
使用net-tools:

$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0$ ipmaddr show dev eth0$ netstat -g

使用iproute2:

$ sudo ip maddr add 33:44:00:00:00:01 dev eth0$ sudo ip maddr del 33:44:00:00:00:01 dev eth0$ ip maddr list dev eth0本文转载地址:http://www.linuxprobe.com

近年来广大系统一管理理员照旧通过结合使用诸如ifconfig、route、arp和netstat等命令行工具(统称为net-tools)来…

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

A:命令 – ifconfig、route、netstat、ip、ss、nmcli

上边包车型客车命令显示出装有可用互连网接口的列表(无论接口是还是不是激活)。

使用net-tools:

$ ifconfig -a
使用iproute2:

$ ip link show

示例

1.翻看当前服务器的互连网连接消息

澳门金沙国际 3

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

2.翻看全体打开的网络端口

澳门金沙国际 4

1. ifconfig – 来得/配置网络接口

激活或停用互连网接口

ip命令

    ip指令用来体现或计划Linux主机的路由、网络设施、策略路由和隧道。

1.1 显示已启用网卡
ifconfig

利用那么些命令来激活或停用某些钦赐的网络接口。

使用net-tools:

$ sudo ifconfig eth1 up
$ sudo ifconfig eth1 down
使用iproute2:

$ sudo ip link set down eth1
$ sudo ip link set up eth1

着力语法

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.2 展现全部网卡(包蕴禁止使用的)
ifconfig -a

为网络接口分配IPv4地址

示例

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,或扫描上面包车型客车二维码添加关切:
澳门金沙国际 5

1.3 启用网卡
ifconfig eth0 up
# 还可以使用ifup命令
ifup eth0

应用那些命令配置互连网接口的IPv4地址。

使用net-tools:

$ sudo ifconfig eth1 10.0.0.1/24
使用iproute2:

$ sudo ip addr add 10.0.0.1/24 dev eth1

值得注意的是,能够行使iproute2给同贰个接口分配八个IP地址,ifconfig则不可能这么做。使用ifconfig的变迁方案是选拔IP外号。

$ sudo ip addr add 10.0.0.1/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.2/24 broadcast 10.0.0.255 dev eth1
$ sudo ip addr add 10.0.0.3/24 broadcast 10.0.0.255 dev eth1
1.4 禁用网卡
ifconfig eth0 down
# 还可以使用ifdown命令
ifdown eth0

移除网络接口的IPv4地址

就IP地址的移除而言,除了给接口分配全0地址外,net-tools没有提供任何方便的点子来移除网络接口的IPv4地址。相反,iproute2则能很好地全盘。

使用net-tools:

$ sudo ifconfig eth1 0
使用iproute2:

$ sudo ip addr del 10.0.0.1/24 dev eth1
1.5 配置IP地址
# 配置ip
ifconfig eth0 192.168.1.110
# 配置ip、子网掩码
ifconfig eth0 192.168.1.110 netmask 255.255.255.0 
# 配置ip、子网掩码、广播地址
ifconfig eth0 192.168.1.110 netmask 255.255.255.0 broadcast 192.168.1.255

彰显网络接口的IPv4地址

依据如下操作可查看有个别内定网络接口的IPv4地址。

使用net-tools:

$ ifconfig eth1
使用iproute2:

$ ip addr show dev eth1

相同,要是接口分配了三个IP地址,iproute2会呈现出富有地点,而net-tools只可以显示3个IP地址。

1.6 设置/删除IPv6地址
ifconfig eth0 add 33ffe:3240:800:1005::2/64 
ifconfig eth0 del 33ffe:3240:800:1005::2/64 

为互连网接口分配IPv6地址

采纳那几个命令为网络接口添加IPv6地址。net-tools和iproute2都允许用户为一个接口添加多少个IPv6地址。

使用net-tools:

$ sudo ifconfig eth1 inet6 add 2002:0db5:0:f102::1/64
$ sudo ifconfig eth1 inet6 add 2003:0db5:0:f102::1/64
使用iproute2:

$ sudo ip -6 addr add 2002:0db5:0:f102::1/64 dev eth1
$ sudo ip -6 addr add 2003:0db5:0:f102::1/64 dev eth1
1.7 注意

ifconfig一声令下执行的修改只可以最近有效,若是期望系统重启后依然奏效,则须求修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth0,文件名中的eth0为网络接口(即网卡)名称

TYPE="Ethernet"
#启用地址协议 --static静态协议 --bootp协议 --dhcp协议
BOOTPROTO="dhcp"
# IP地址
IPADDR=192.168.1.112
# 子网掩码
NETMASK=255.255.255.0
# 网关
GATEWAY=192.168.1.1
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="05b42805-b990-4322-a932-f9438d13c5fb"
DEVICE="eth0"
ONBOOT="yes"

凸显网络接口的IPv6地址

依照如下操作可展现某些钦点互联网接口的IPv6地址。net-tools和iproute2都足以彰显出全部已分配的IPv6地址。

使用net-tools:

$ ifconfig eth1
使用iproute2:

$ ip -6 addr show dev eth1

2. route – 显示/操作IP路由表

Target:目标网络或指标主机;
gw:设置私下认可网关;
mss:设置TCP的最大区块长度(MSS),单位MB;
window:钦点通过路由表的TCP连接的TCP窗口大小;
dev:路由记录所代表的互联网接口

移除网络设施的IPv6地址

应用这一个命令可移除接口中不要求的IPv6地址。

使用net-tools:

$ sudo ifconfig eth1 inet6 del 2002:0db5:0:f102::1/64
使用iproute2:

$ sudo ip -6 addr del 2002:0db5:0:f102::1/64 dev eth1
2.1 突显路由
route
route -n  # 不执行DNS查找,直接显示ip

转移网络接口的MAC地址

选择下边包车型地铁下令可篡改网络接口的MAC地址,请留心在改变MAC地址前,必要停用接口。

使用net-tools:

$ sudo ifconfig eth1 hw ether 08:00:27:75:2a:66
使用iproute2:

$ sudo ip link set dev eth1 address 08:00:27:75:2a:67
2.2 添加路由
route add  [-net|-host]  target  [netmask  Nm]  [gw GW]  [[dev] If]

示例:

route add -net  10.0.0.0/8  gw  192.168.1.11  dev  eth1
route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  
route add  default  gw 192.168.10.1  

查看IP路由表

net-tools中有五个采用来呈现内核的IP路由表:route和netstat。在iproute第22中学,使用命令ip
route。

使用net-tools:

$ route -n
$ netstat -rn
使用iproute2:

$ ip route show
2.3 删除路由
route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

示例

route  del  -net  10.0.0.0/8 gw 192.168.10.1
route  del  default

丰硕和修改默许路由

那里的命令用来添加或改动内核IP路由表中的暗中同意路由规则。请留心在net-tools中可通过丰盛新的默许路由、删除旧的暗许路由来落到实处修改暗中同意路由。在iproute2使用ip
route命令来顶替。

使用net-tools:

$ sudo route add default gw 192.168.1.2 eth0
$ sudo route del default gw 192.168.1.1 eth0
使用iproute2:

$ sudo ip route add default via 192.168.1.2 dev eth0
$ sudo ip route replace default via 192.168.1.2 dev eth0

3. netstat – 显示网络连接、路由表,接口状态,伪装连接,网络链路消息和组播成员组

添加和移除静态路由

应用上边发号施令添加或移除贰个静态路由。

使用net-tools:

$ sudo route add -net 172.16.32.0/24 gw 192.168.1.1 dev eth0
$ sudo route del -net 172.16.32.0/24
使用iproute2:

$ sudo ip route add 172.16.32.0/24 via 192.168.1.1 dev eth0
$ sudo ip route del 172.16.32.0/24
3.1 展现互连网连接

语法

netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]

选项

-t:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine)
-u:UDP相关的连接
-w:raw socket相关的连接
-l:处于监听状态的连接
-a:所有状态
-n:以数字格式显示IP和Port
-e:扩展格式
-p:显示相关的进程及PID

查看套接字总计音信

此地的授命用来查看套接字计算音信(比如活跃或监听状态的TCP/UDP套接字)。

使用net-tools:

$ netstat
$ netstat -l
使用iproute2:

$ ss
$ ss -l
3.2 呈现路由表

语法

netstat -rn

选项

-r:显示内核路由表
-n:以数字格式显示

查看ARP表

运用那几个命令展现内核的A奥迪Q5P表。

使用net-tools:

$ arp -an
使用iproute2:

$ ip neigh
3.3 突显接口总括音信

语法

netstat    {--interfaces|-I|-i}    [iface]   [--all|-a]   [--extend|-e]   [--verbose|-v]   [--program|-p]  [--numeric|-n]

选项

netstat  -i
# 指定接口:
netstat  -I<Iface>

常用组合

# 显示所有tcp连接
netstat -tan
# 显示所有udp连接
netstat -uan
# 显示处于监听状态的tcp连接
netstat -tnl
# 显示处于监听状态的udp连接
netstat -unl
# 显示所有处于监听状态的tcp、udp连接及相关进程
netstat -tunlp

加上或删除静态AKugaP项

奉公守法如下操作在该地A汉兰达P表中增加或删除2个静态A宝马7系P项。

使用net-tools:

$ sudo arp -s 192.168.1.100 00:0c:29:c0:5a:ef
$ sudo arp -d 192.168.1.100
使用iproute2:

$ sudo ip neigh add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0
$ sudo ip neigh del 192.168.1.100 dev eth0

4. ip – 显示或操纵Linux主机的路由、网络设施、策略路由和隧道

ip是iproute2软件包里面包车型地铁1个无敌的网络布置工具,它能够代表一些价值观的网络管理工科具,例如ifconfig、route等,使用权力为最好用户。大致拥有的Linux发行版本都帮忙该命令。

SYNOPSIS

ip [ OPTIONS ] OBJECT { COMMAND | help }
# OBJECT和COMMAND均支持简写
# 不能同时使用多个选项或命令
OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | tcp_metrics | token }
OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] | -r[esolve] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -4 | -6 | -I | -D | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -o[neline] | -rc[vbuf] [size] | -t[imestamp] | -ts[hort] | -n[etns] name | -a[ll] }

OPTIONS

-s, -stats, -statistics  输出更为详尽的信息(如果这个选项出现两次或者多次,输出的信息将更为详尽)
-f -family  选项后面接协议种类,包括:inet、inet6或者link,强调使用的协议种类。 如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或者any。link比较特殊,它表示不涉及任何网络协议。
-4 是 -family inet   的简写
-6 是 -family inet6 的简写
-0 是 -family link   的简写
-o,-oneline  对每行记录都使用单行输出,回行用字符代替。如果你需要使用wc、grep等工具处理ip的输出,会用到这个选项。
-r,-resolve  查询域名解析系统,用获得的主机名代替主机IP地址。

累加、删除或查看多播地址

运用上边包车型客车吩咐配置或查看网络接口上的多播地址。

使用net-tools:

$ sudo ipmaddr add 33:44:00:00:00:01 dev eth0
$ sudo ipmaddr del 33:44:00:00:00:01 dev eth0
$ ipmaddr show dev eth0
$ netstat -g
使用iproute2:

$ sudo ip maddr add 33:44:00:00:00:01 dev eth0
$ sudo ip maddr del 33:44:00:00:00:01 dev eth0
$ ip maddr list dev eth0
4.1 ip link – change device attributes
4.1.1 ip link set – change device attributes
ip link set [dev] ...(dev可以省略)
# 启用/禁用网卡eth0
ip link set [dev] eth0 up|down
# 修改网卡eth0名称
ip link set [dev] eth0 新名称
# 开启/关闭组播(多播)功能
ip link set [dev] eth0 multicast no|off
# 设置mtu大小(mtu默认大小为1500)
ip link set [dev] eth0 mtg 1500
# 将接口移动到指定的网络名称空间
ip link set [dev] eth0 netns 
4.1.2 ip link show – display device attributes
# 显示网络接口属性,不指定接口时显示所有启用的
ip link show [eth0]
4.1.3 ip link help – 显示采纳补助
4.2 ip netns – manage network namespaces
# 列出所有的netns
ip netns list
# 创建指定的netns
ip netns add NAME
# 删除指定的netns
ip netns del NAME
# 在指定的netns中运行命令
ip netns exec NAME COMMAND
4.3 ip address – protocol address management
# 为接口eth0添加地址
ip addr add 192.168.1.111/24  dev  eth0
  [label NAME]:为额外添加的地址指明接口别名;
  [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;
  [scope SCOPE_VALUE]:global(全局)、link(接口)、host(本机);     
# 删除接口eth0的地址                                       
ip addr delete IFADDR dev eth0 
# 显示接口的地址
ip addr list [IFACE]
# 清空接口eth0的所有地址(一个网络接口可以有多个地址)
ip addr flush dev eth0
4.4 ip route – routing table management
# 添加路由(via:经由哪个下一跳;src:从本机哪个地址出)
ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]
# 示例
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0 src 10.0.20.100
# 添加默认路由
ip route add default via GW
# 修改路由
ip route change ...
# 修改或添加路由
ip route replace ...
# 删除路由
ip route del TYPE PRIFIX 
# 示例
ip route delete 192.168.1.0/24
# 显示路由      
ip route show TYPE PRIFIX  
# 清空路由
ip route flush TYPE PRIFIX
# 示例
ip route flush 192.168.1.0/24
# 获取某个路由
ip route get TYPE PRIFIX
# 示例
ip route get 192.168.1.0/24

5. ss – another utility to investigate sockets

ss是另二个翻看sockets音讯的工具,能够替代netstat。

总览 SYNOPSIS

ss [options] [ FILTER ]

选项 OPTIONS

-t:TCP协议的相关连接
-u:UDP相关的连接
-w:raw socket相关的连接
-l:监听状态的连接
-a:所有状态的连接
-n:数字格式
-p:相关的程序及其PID
-e:扩展格式信息
-m:内存用量
-o:计时器信息

过滤器 FILTER

FILTER := [ state TCP-STATE ]  [ EXPRESSION ]
  • **TCP-STATE:TCP常见情况 **

TCP FSM:
    LISTEN:监听
    ESTABLISEHD:建立的连接
    FIN_WAIT_1:
    FIN_WAIT_2:
    SYN_SENT:
    SYN_RECV:
    CLOSED:
  • **EXPRESSION **

# 目标端口
dport = :xx
# 源端口
sport = :xx

示例

# 显示所有源端口或目标端口为22的tcp连接
ss -tan '(  dport = :22 or sport = :22  )'
# 显示所有状态为ESTABLISHED的tcp连接
ss -tan state  ESTABLISHED

6. nmcli – 命令行互连网管理工科具

SYNOPSIS

nmcli [OPTIONS...] {device | agent | monitor} [COMMAND] [ARGUMENTS...]

** OPTIONS & COMAND**

# 选项可以简写,如:dev、conn
# device - show and manage network interfaces
nmcli device {status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp} [ARGUMENTS...][ARGUMENTS...]
# connection - start, stop, and manage network connections
nmcli connection {show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export} [ARGUMENTS...]

示例

# 查看网络设备
nuclei device show 
# 查看网络设备状态
nmcli device status
# 为网卡eth0添加ip
nmcli conn modify eth0 +ipv4.address 192.168.1.135/24
# 从网卡eth0删除ip
nmcli conn modify eth0 -ipv4.address 192.168.1.135/24

B:配置文件

B1. IP/NETMASK/GW/DNS等特性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
# ifcfg-IFACE配置文件参数:
DEVICE:此配置文件对应的设备的名称;
ONBOOT:在系统引导过程中,是否激活此接口;
UUID:此设备的惟一标识;
IPV6INIT:是否初始化IPv6;
BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
TYPE:接口类型,常见的有Ethernet, Bridge;
DNS1:第一DNS服务器指向;
DNS2:备用DNS服务器指向;
DOMAIN:DNS搜索域;
IPADDR: IP地址;
NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;
GATEWAY:默认网关;
USERCTL:是否允许普通用户控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;
HWADDR:设备的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服务来控制接口;(CentOS 6)
B2. 非暗中认可网关路由的有关安顿文件:/etc/sysconfig/networkj-scripts/route-IFACE
# 支持两种配置方式,但不可混用;
(1) 每行一个路由条目:
TARGET via GW
如:20.0.0.0/24 via 192.168.1.0
(2) 每三行一个路由条目:
ADDRESS_No=TARGET
NETMASK_No=MASK
GATEWAY_No=NEXTHOP
如:
ADDRESS0=20.0.0.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.0
ADDRESS1=30.0.0.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.1.0
B3. 通过网卡别名配置八个互联网地址(IP),但不协理DHCP

ip address add...能够很有利地为网卡配置八个IP,ifconfig命令及布置文件也足以通过别称的方法为布局几个IP。

示例1

ifconfig eth0:0 192.168.1.101/24
ifconfig eth0:1 192.168.1.102/24

示例2

# 以网卡别名为后缀作配置文件
/etc/sysconfig/network-scripts/ifcfg-eth0:0
/etc/sysconfig/network-scripts/ifcfg-eth0:1

C:交互式工具

CentOS 7中,操作互联网属性的交互式工具为nmtui.

相关文章