网络配置工具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并不会被移除,重 ...
随机推荐
- ThreadLocal原理分析与代码验证
ThreadLocal提供了线程安全的数据存储和访问方式,利用不带key的get和set方法,居然能做到线程之间隔离,非常神奇. 比如 ThreadLocal<String> thread ...
- this绑定方式总结
最近在回顾js的一些基础知识,把<你不知道的js>系列又看了一遍,this始终是重中之重,还是决定把this相关知识做一个系统的总结,也方便自己日后回顾. this的四条绑定规则 1.默认 ...
- Excel导入数据库(php版)
一.环境说明 Apache+php(PHPExcel)+HTML5+JavaScript(jQuery)+MySQL 二.前端预览 三.Excel表格 四.HTML部分 <p>按照Exce ...
- Win 使用终端创建mysql数据库及使用(5)
删除你创建过的数据库newsql里面的所有表 这里必须安装了mysql,并且知道用户名密码IP地址.因为我用的window,所以只介绍Win使用cmd创建的方式 首先windown+R 出现窗口输入c ...
- vue computed计算属性 watch监听
计算属性 computed:{ 变量:function(){ return 计算好的值 } } 这时候计算好的值 就付给了你的变量 在实例中可以this.使用 注意 声明的变量的data中不可以重复声 ...
- scrapy抓取国家社科基金项目数据库
1.明确任务 目标网站:http://fz.people.com.cn/skygb/sk/index.php/Index/seach 抓取任务:抓取近五年某关键词(例如"能源".” ...
- Spring Cloud报错Error creating bean with name 'requestMappingHandlerMapping'
如果我们使用Spring Cloud的Feign实现熔断,首先需要自定义一个熔断类,实现你的feign接口,然后实现方法,这些方法就是熔断方法,最后需要在你的feign接口中指定fallback为自定 ...
- adb查看Android app包名
1. 确保电脑已经安装了adb.exe文件 2. 使用USB连接你的手机到电脑上,输入下图所示的命令后按下回车键:adb devices 3. 使用手机打开某个应用程序 4.回到命令号窗口,输入代码如 ...
- git本地项目连接私人远程仓库以及遇到的问题
一.引言 1.最开始的时候,我本地项目连接的是github远程仓库,现在要转到公司的私人远程仓库. 2.我和大家说两个事: (1)本地项目连接github远程仓库, (2)本地项目连接私人远程仓库, ...
- 发送json给服务器
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { // 1.URL NSURL *url = [NSURL URLW ...