网络配置工具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并不会被移除,重 ...
随机推荐
- 64位手机部署centos
在64位处理器的手机上部署centos会有下面的困难. 1. 没有现成的aarch64的rootfs. 2. termux没有rpm2cpio进行部署. 3. armv8*不会被centos识别为aa ...
- WebSocket网络通信协议
WebSocket 协议在2008年诞生,2011年成为国际标准.所有浏览器都已经支持了. HTTP 协议有一个缺陷:通信只能由客户端发起.这种单向请求的特点,注定了如果服务器有连续的状态变化,客户端 ...
- PHP-会话控制Cookie和Session
会话控制:就是为了我们在访问页面和页面之间的跳转是,能够识别到你的登录状态,已经你的登录时长等 在php的会话控制当中,涉及到两个概念Cookie和Session Cookie 会话控制 原理:在登录 ...
- GeoServer 修改端口
准备内容 安装环境:win10*64位专业版 安装文件:geoserver-2.15.2 操作步骤 1.找到文件夹下的start.ini,并用记事本打开 2.找到jetty.port,修改为自己需要的 ...
- 2019-10-28:渗透测试学习,sqlmap的使用,笔记
sqlmap工具的使用sql注入工具,明小子,啊D,萝卜头,穿山甲,sqlmap等开源自动化注入利用工具,支持的数据库有12种,在/plugins中可以看到支持的数据库种类,在所有注入利用工具中是最好 ...
- 使用Xdroid进行端口映射,出现adb server version (36) doesn't match this client (39); killing...的解决方案
第一反应就是adb冲突了,因为Xdroid这个产品看起来就不像是给开发人员用的模拟器,因为不能选择各种版本进行适配,所以肯定自带了一个adb. whereis命令发现果然有两个adb,一个直接是安装在 ...
- C语言之修改常量
前言:指针!菜鸟的终点,高手的起点.漫谈一些进阶之路上的趣事:记录一些语言本身的特性以及思想,没有STL,也没有API! 0x01: 程序内存中的存储划分 对于程序在内存中是如何分布的,网上有多个解释 ...
- 程序员的算法课(14)-Hash算法-对海量url判重
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/m0_37609579/article/de ...
- C#使用Consul集群进行服务注册与发现
前言 我个人觉得,中间件的部署与使用是非常难记忆的:也就是说,如果两次使用中间件的时间间隔比较长,那基本上等于要重新学习使用. 所以,我觉得学习中间件的文章,越详细越好:因为,这对作者而言也是一份珍贵 ...
- C# delegate和C# event
在基于Windows平台的程序设计中,事件(event)是一个很重要的概念.因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮.处理Windows系统消息等,这些异步调 ...