网络配置工具iproute2和net-tools的基本原理和基本使用方法
这是网络程序设计课程的第一次作业的博客,由于还是小白,分享的内容都是比较基础的东西,希望看到的各位同学可以提出指导意见,必将虚心听取。
这次分享的内容是网络配置工具iproute2和net-tools的原理和基本使用方法,由于之前未接触过这方面的东西,因此都是对基本命令进行验证并给出自己的一点思考。
一、原理
网络配置工具是用来检测网络状态及配置相关信息的辅助性工具,iproute2是linux下管理控制TCP/IP网络和流量控制的新一代工具包,出现目的是替代老工具链net-tools,查阅一些资料获悉,net-tools是通过procfs(/proc)和ioctl系统调用去访问和改变内核网络配置,而iproute2通过netlink套接字接口与内核通讯,在多个任务的情况下,iproute的效率会更高,这两个与内核通信的不同方式便是这两个工具链的最本质区别。
二、基本使用
1、ip addr show(ip a)和ifconfig -a的作用一样,可以查看网卡设备
ip a,可以看到有两个网卡,ens33这个网卡的up显示网络连接正常

2、启用网络设备 sudo ip link set up ens33
3、配置临时ip
(1)iproute2配置临时sudo ip addr add 192.168.1.100/24 dev ens33,这种方式添加的临时的,设备重启后会被释放

(2)net-tools的方式:需要加别名才不会覆盖原来的ip地址,否则是会覆盖的

4、删除临时ip
(1)sudo ip addr del 192.168.1.100/24 dev ens33

(2)sudo ifconfig ens33:0 192.168.1.101/24 down

5、修改mac地址(也是临时的)
不常用,实际上修改的也不是物理地址,而是虚拟的物理地址
sudo ip link set dev ens33 address 00:ff:ff:ff:ff:ff

6、查看路由
(1)ip route show(ip r) 可以看到该路由器的默认路由和两条默认路由

(2)route -n 0.0.0.0是指任何ip目的地址,都需要先转发到默认路由

7、设置默认路由
(1)删除默认路由后,没有默认路由则不能上网

(2)sudo ip route add default via 192.168.8.1 dev ens33
设置了默认路由后才能联网,注意默认路由不能随便设置

若使用不正确的默认路由,则会全部丢包

(3)net-tools的方法设置路由

8、查看ARP信息
(1)ip neigh (ip n)

(2)arp -an

9、查看本地TCP监听
(1)ss -ltp

可以看到上面本地启动了两个连接的服务,分别是ssh和ipp协议,后面的两行是一样的,不过他们使用的是ipv6
(2)netstat -tnlp,加了n之后会把ssh和ipp协议转成端口号

(3)这两个工具的主要区别就是在这里,iproute2使用的ss连接,net-tools使用的是原始的
10、查看所有的tcp连接
(1)ss -tn

(2)netstat -nt

三、总结
这是第一次写博客,也是第一次学网络相关命令,由于基础还不好,整个学习过程中花了很多时间去研究相关命令出现的错误。不过还是学到很多东西,对计算机网络上面的理论知识有了更加深刻的理解,以前觉得那些知识只是理论上这个样子,离我们很远,经过这次的学习,我知道了计算机学科作为应用学科的意义,我们的理论知识就是来自于实际,理论怎样描述的,计算机实际上就是怎样工作。希望通过自己的坚持学习,能够从小白变成一个真正的技术人!
网络配置工具iproute2和net-tools的基本原理和基本使用方法的更多相关文章
- CentOS 7网络配置工具
CentOS 7网络配置工具 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.网卡命名机制 CentOS 6之前,网络接口使用连续号码命名:eth0.eth1等,当增加或删除网卡 ...
- 10.6 ip:网络配置工具
ip命令是iproute软件包中的一个强大的网络配置工具,用于显示或管理Linux系统的路由.网络设备.策略路由和隧道. ip [option] [object] [command] ip [选项 ...
- linux 无线网络配置工具wpa_supplicant与wireless-tools
4.a. 介绍目前您可以使用我们提供的wireless-tools 或wpa_supplicant工具来配置无线网络.请记住重要的一点是,您对无线网络的配置是全局性的,而非针对具体的接口.wpa_su ...
- Ubuntu 16.04通过网络配置工具NetworkManager设置IP、网关、DNS和查看IP、网关、DNS
说明: 1.NetworkManager工具是Ubuntu桌面版的GUI设置工具. 2.这个工具推荐直接在GUI上操作,不建议用命令行进行管理,比如Wifi这些配置等. 3.当然,这个工具能带有命令行 ...
- CentOS 7 网络配置工具
之前在CentOS 6下编辑网卡,直接使用setup工具就可以了. 但在新版的CentOS 7里,setuptool已经没有网络编辑组件了,取而代之的是NetworkManager Text User ...
- Ubuntu 16.04桌面版GUI网络配置工具NetworkManager的命令行工具nm-tool无法使用的问题
说明: 1.Ubuntu中分桌面版和服务器版,而这两个版本在网络管理方面使用的工具都不一样,尤其是在桌面版,使用了NetworkManager进行管理. 2.服务器版使用的是命令行配置,而桌面版包含了 ...
- CentOS 7 下的网络配置工具
之前在CentOS 6下编辑网卡,直接使用setup工具就可以了. 但在新版的CentOS 7里,setuptool已经没有网络编辑组件了,取而代之的是NetworkManager Text User ...
- linux网络配置(iproute2)
iproute2家族 ip命令:show / manipulate routing,devices,policy routing and tunnels(显示/操纵路由.设备.策略路由和隧道) 语法 ...
- Linux用户空间网络配置工具tips
1.当调用`ifconfig eth0 down`命令关闭网络设备eth0时,会产生如下影响: 所有配置在该网卡上的IP地址都将失效并且被移除 (在ubuntu 14.04上测试,IP并不会被移除,重 ...
随机推荐
- iOS UIKit x Android Widget
Android的事件回调Listener相当于iOS的delegate回调. Android的事件回调接口Listener相当于iOS的protocol回调协议. Android的UI容器(Adapt ...
- scrapy介绍及使用
scrapy的流程 其流程可以描述如下: 调度器把requests-->引擎-->下载中间件--->下载器 下载器发送请求,获取响应---->下载中间件---->引擎-- ...
- AutoCad 二次开发 文字镜像
AutoCad 二次开发 文字镜像 参考:https://adndevblog.typepad.com/autocad/2013/10/mirroring-a-dbtext-entity.html 在 ...
- Mac的Safari安装油猴插件(Tampermonkey)
Mac的Safari安装油猴插件(Tampermonkey) 官方的AppStore是没有油猴插件(Tampermonkey)的,官方插件不仅少,功能被阉割,相对弱小,还收费.嗯,这很苹果第三方拓展. ...
- ubuntu 16.04上源码编译opengv | compile opengv on ubuntu 16.04
本文首发于个人博客https://kezunlin.me/post/1e5d14ee/,欢迎阅读! compile opengv on ubuntu 16.04 Series compile open ...
- 一篇很好的学习查看Java源代码的文章
目录: 一. ArrayList概述 二. ArrayList的实现 1) 私有属性 2) 构造方法 3) 元素存储 4) 元素读取 5) 元素删除 6) 调整数组容量 ...
- 使用 Topshelf 组件一步一步创建 Windows 服务 (2) 使用Quartz.net 调度
上一篇说了如何使用 Topshelf 组件快速创建Windows服务,接下来介绍如何使用 Quartz.net 关于Quartz.net的好处,网上搜索都是一大把一大把的,我就不再多介绍. 先介绍需要 ...
- scrapy结合selenium抓取武汉市环保局空气质量日报
1.前言 目标网站:武汉市环境保护局(http://hbj.wuhan.gov.cn/viewAirDarlyForestWaterInfo.jspx).scrapy对接selenium模块抓取空气质 ...
- 从两个List集合里找到相同部分和不同部分
/** * 获取两个集合里元素不同的部分 */ public List<User> getDifferent(List<User> u1, List<User> u ...
- 【数据结构】之队列(Java语言描述)
在[这篇文章]中,我简单介绍了队列的基本数据结构及操作方式,并用C语言代码描述了队列的基本功能实现. JDK中默认为我们提供了队列的API—— Queue . Queue是一个接口,其中提供了处理队列 ...