Linux/Ubuntu网络知识:

Linux ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。 (Windows系统cmd中使用ipconfig)

C:\Users\XY-PC-149>adb shell

shell@m606:/ $ ifconfig

eth0      Link encap:Ethernet  HWaddr C6:6F:92:72:FF:85

inet addr:192.168.42.159  Bcast:192.168.42.255  Mask:255.255.255.0

UP BROADCAST MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:4 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 TX bytes:328

rndis0    Link encap:Ethernet  HWaddr 46:11:D9:72:D2:93

inet addr:192.168.100.100  Bcast:192.168.100.255  Mask:255.255.255.0

inet6 addr: fe80::4411:d9ff:fe72:d293/64 Scope: Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:214 errors:214 dropped:0 overruns:0 frame:214

TX packets:6 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:31140 TX bytes:732

lo        Link encap:Local Loopback

inet addr:127.0.0.1  Mask:255.0.0.0

inet6 addr: ::1/128 Scope: Host

UP LOOPBACK RUNNING  MTU:65536  Metric:1

RX packets:456 errors:0 dropped:0 overruns:0 frame:0

TX packets:456 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:39824 TX bytes:39824

lmi45     Link encap:UNSPEC

inet addr:192.168.43.22  P-t-P:192.168.43.22  Mask:255.255.255.0

UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:500

RX bytes:0 TX bytes:0

eth0,eth1,eth2……代表网卡一,网卡二,网卡三……

lo代表127.0.0.1,即localhost

hw 代表hardware 硬件意思

ether 代表ethernet 以太网的意思

语法

ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明

  • add<地址> 设置网络设备IPv6的IP地址。
  • del<地址> 删除网络设备IPv6的IP地址。
  • down 关闭指定的网络设备。
  • <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
  • io_addr<I/O地址> 设置网络设备的I/O地址。
  • irq<IRQ地址> 设置网络设备的IRQ。
  • media<网络媒介类型> 设置网络设备的媒介类型。
  • mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  • metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  • mtu<字节> 设置网络设备的MTU。
  • netmask<子网掩码> 设置网络设备的子网掩码。
  • tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
  • up 启动指定的网络设备。
  • -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  • -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  • -promisc 关闭或启动指定网络设备的promiscuous模式。
  • [IP地址] 指定网络设备的IP地址。
  • [网络设备] 指定网络设备的名称。

启动关闭指定网卡

# ifconfig eth0 down

# ifconfig eth0 up

为网卡配置和删除IPv6地址

# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址

# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址

用ifconfig修改MAC地址:

# ifconfig eth0 down //关闭网卡

# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址

# ifconfig eth0 up //启动网卡

# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址

# ifconfig eth1 up //启动网卡

MAC地址是生产厂家定的,每个网卡拥有的唯一地址;不过我们可以手工改动网卡的MAC地址,只要我们在/etc/rc.d/init.d/中的network 中加入:

ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx

此时你就可以骗过局域网内的IP地址邦定了

配置IP地址

# ifconfig eth0 192.168.1.56

//给eth0网卡配置IP地址

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0

// 给eth0网卡配置IP地址,并加上子掩码

# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255

// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

若想再在eth0上在配置一个192.168.1.1/24 的IP地址怎么办?用下面的命令

  ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0

  这时再用ifconifg命令查看,就可以看到两个网卡的信息了,分别为:eth0和eth0:0.若还想再增加IP,那网卡的命名就接着是:eth0:1、eth0:2……想要几个就填几个。ok!

启用和关闭ARP协议

# ifconfig eth0 arp  //开启

# ifconfig eth0 -arp  //关闭

设置最大传输单元

# ifconfig eth0 mtu 1500

//设置能通过的最大数据包大小为 1500 bytes

linux路由表设置之route 

Linux系统的route命令用于显示和操作Linux 内核IP路由表

C:\Users\XY-PC-149>adb shell

shell@m606:/ $ route

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.42.0    *               255.255.255.0   U     0      0        0 eth0

192.168.42.1    192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.42.22   192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.43.0    *               255.255.255.0   U     0      0        0 lmi45

192.168.100.0   *               255.255.255.0   U     0      0        0 rndis0

239.0.0.0       192.168.43.22   255.255.255.0   UG    0      0        0 lmi45

shell@m606:/ $

shell@m606:/ $

shell@m606:/ $ route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.42.1    192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.42.22   192.168.100.100 255.255.255.255 UGH   0      0        0 rndis0

192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 lmi45

192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 rndis0

239.0.0.0       192.168.43.22   255.255.255.0   UG    0      0        0 lmi45

shell@m606:/ $

在路由器配置中可用0.0.0.0/0表示默认路由,作用是帮助路由器发送路由表中无法查询的包。严格说来,0.0.0.0/0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有未知的主机和目的网络。这里的“未知”是指在本机的路由表里没有特定条目指明如何到达综合起来可以说0.0.0.0/0表示整个网络。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。

ip route add 0.0.0.0/0 dev lmi45     //未知网络中的所有包都送到lmi45这个网卡中去

route 命令

设置和查看路由表都可以用 route 命令,设置内核路由表的命令格式是:

# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

其中:

  • add : 添加一条路由规则
  • del : 删除一条路由规则
  • -net : 目的地址是一个网络
  • -host : 目的地址是一个主机
  • target : 目的网络或主机
  • netmask : 目的地址的网络掩码
  • gw : 路由数据包通过的网关
  • dev : 为路由指定的网络接口

route 命令使用举例

添加到主机的路由

# route add -host 192.168.1.2 dev eth0

# route add -host 10.20.30.148 gw 10.20.30.40  #添加到10.20.30.148的网关

添加到网络的路由

# route add -net 10.20.30.40 netmask 255.255.255.248 eth0   #添加10.20.30.40的网络

# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41 #添加10.20.30.48的网络

# route add -net 192.168.1.0/24 eth1

添加默认路由

# route add default gw 192.168.1.1

删除路由

# route del -host 192.168.1.2 dev eth0:0

# route del -host 10.20.30.148 gw 10.20.30.40

# route del -net 10.20.30.40 netmask 255.255.255.248 eth0

# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

# route del -net 192.168.1.0/24 eth1

# route del default gw 192.168.1.1

Linux/Ubuntu网络知识相关推荐

  1. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

  2. 如何处理linux Ubuntu网络不通的问题

    ubuntu 网络图标不见的问题解决方案 (即无法联网解决方案) 尝试以下操作: sudo service network-manager stop sudo rm /var/lib/NetworkM ...

  3. linux-linux常用命令总结二Linux其他网络知识远程拷贝以远程登录服务器

    一.通过主机名查看IP # bash host www.baidu.com 返回的结果中有该域名的IP地址. 二.远程拷贝 从本机拷贝数据到远程的服务器上 要求:必须知道对方的账户和密码,且具备相应的 ...

  4. ubuntu 网络知识总结

    1. 统计本机各个状态的所有连接数 netstat -ant |awk 'NR>2{print $6}'|sort|uniq -c|sort -rn 实验如下图 2. 查看指定端口的状态及所属进 ...

  5. 无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages)

    无网络服务器(linux ubuntu),pip安装python科学计算所有需要包(packages) # 在windows上打开anaconda,进入环境tab页,在base环境处单击,然后点开te ...

  6. Linux网络知识--DHCP服务(理论部分)

    文章目录 Linux网络知识--DHCP服务 一.了解DHCP服务 1.1DHCP简介 1.2使用DHCP的好处 1.3DHCP的分配方式 二.DHCP的租约过程 2.1DHCP四个报文交互过程 2. ...

  7. Linux 系统日常运维九大技能和运维网络知识总结

    一.Linux 系统日常运维九大技能 1.安装部署 方式:U盘,光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式:主要工具有Cobbler和PXE+kickstart 可以参考如下链接内容 ...

  8. linux系统网络基础知识

    一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...

  9. 太牛了!万文长字:Java基础+网络知识+Linux+数据结构与算法+数据库+系统设计+必会工具+面试指南,一文将Java面试讲解的清清楚楚!

    前言 今天给大家推荐一本PDF文档<Java中高级核心知识全面解析>这份文档总页数:524页.分为八个部分每个部分详细地讲解了核心知识点. 第一部分 扎实的Java基础 (Java基础+容 ...

最新文章

  1. MATLAB的图像文件怎么标字母,用matlab对图片进行字符识别,只要能识别字母就行…十万火急!!请各位大侠们多多帮忙…...
  2. C++ primer 笔记 (一)
  3. js中Blob对象一般用法
  4. 数字化转型的路上,手握一张地图,但路还得自己走
  5. 深入解析Windows系统两大进程
  6. PHP页面运行一半,在PHP中仅缓存页面的一部分
  7. Python 开篇及第一个Python程序
  8. LINUX获取当前用户及信息的命令
  9. GIMP教程 3 扭曲变换工具 (瘦脸 瘦腿)
  10. 汉字笔顺动画C端实现B端原理 - [大力智能 前端]
  11. python PIL Image 图片叠图、拼接,图片透明度调整 案例
  12. 计算机硬盘标称容量怎么看,电脑硬盘标称容量、分区大小与实际容量之间的差异...
  13. go实现简单的chan
  14. 2022年起重机司机(限桥式起重机)考试题库模拟考试平台操作
  15. 近来开发工作不忙,零零散散整理的Java基础
  16. 计算机常用单词 pdf,关于计算机的常用词汇.pdf
  17. 编程大实践 数独破解 #Cilay #嵩天
  18. java迷宫鼠_C++ 迷宫算法(迷宫老鼠)
  19. 【周年福利Round1】一文看破Swift枚举本质
  20. 可以写一个表白代码吗

热门文章

  1. 实验室考核复习(三)----运放基础
  2. c语言找不同小游戏编程,[程序设计]大家来找茬(C语言)
  3. 基于OpenCV-Python的人脸签到系统
  4. 2018 秋招 百度一面
  5. MySQL 5.7.10最新版本源代码安装详细过程
  6. c语言中数组的变量j是什么,C语言中x[i][j]的意思是?
  7. c++ txt文件的读写及乱码问题解决
  8. React实现登录表单
  9. IDEA使用git出现SSH:无法解析主机名XXX:名称或服务未知无法从远程存储库读取错误
  10. CLion配置visual studio(msvc)和JOM多核编译