Linux网络命令 linux常用命令

   2023-02-09 学习力0
核心提示:Linux网络命令一、网络配置命令1.1ifconfig查看当前活着的网络接口信息[root@localhost ~]#ifconfig -a#表示显示所有网卡包括没有启动的网卡[root@localhost ~]#ifconfig ens33 down#关闭网卡[root@localhost ~]#ifconfig ens33 up#开启网卡[root@localhost ~

Linux网络命令

一、网络配置命令

1.1ifconfig查看当前活着的网络接口信息

[root@localhost ~]#ifconfig -a    #表示显示所有网卡包括没有启动的网卡
[root@localhost ~]#ifconfig ens33 down    #关闭网卡
[root@localhost ~]#ifconfig ens33 up        #开启网卡
[root@localhost ~]#ifconfig ens36:0 192.168.10.200    #设置临时虚拟网卡
[root@localhost ~]#ifconfig -s            #网络通讯情况

补充1:nmcli(绿色代表正在用的)

补充2:ip address修改IP地址

[root@feizirui ~]#ip address add 192.168.10.100/24 dev ens33
[root@feizirui ~]#ip address del 192.168.10.10/24 dev ens33

1.2hostname查看或设置主机名

查看主机名:
[root@localhost ~]#hostname
localhost.localdomain

通过hostnamectl来修改主机名:
[root@localhost ~]#hostnamectl set-hostname feizirui
[root@localhost ~]#bash
[root@feizirui ~]#

1.3route查看或设置主机中的路由表

[root@localhost ~]#route

[root@localhost ~]#route -n

1.4netstat查看网络连接状态

netstat 选项
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息 
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息 
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息 
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

1.5ss查看网络连续情况

  • ss命令主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。但ss命令的优势在于它能够显示更多更详细的有关TCP和UDP连接状态的信息,而且比netstat更快速更高效。当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/,执行速度都会很慢。ss命令快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss命令的快捷高效。
  • ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
ss [选项] 
-t:tcp协议相关
-u:udp协议相关
-w:裸套接字相关
-x:unix sock相关
-l:listen状态的连接
-a:所有
-n:数字格式
-p:相关的程序及PID
-e:扩展的信息
-m:内存用量
-o:计时器信息
-r:把IP解释为域名,把端口号解释为协议名称

1.6ping测试网络连通性(使用ICMP协议)

ping [选项] 目标主机

1.7traceroute路由追踪

traceroute IP地址

1.8nslookup域名解析

nslookup 域名

补充:dig可以显示出更多详细信息

1.9永久配置网络相关配置文件

(1)配置网卡

[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33 

BOOTPROTO=static    ##获取地址静态方式
ONBOOT=yes        ##开机自启
IPADDR=192.168.10.10    ##IP地址
NETMASK=255.255.255.0    ##子网掩码
GATEWAY=192.168.10.2    ##网关
DNS1=8.8.8.8        ##DNS1:谷歌的
DNS2=114.114.114.114    ##DNS2:三大运营商

[root@localhost ~]#systemctl restart network    ##重启网卡
[root@localhost ~]#ping www.baidu.com -c4

 (2)红帽修改网卡命令:

1 [root@localhost ~]#nmcli con mod ens33 ipv4.addresses 192.168.10.100/24 ipv4.gateway 192.168.10.2 ipv4.dns 8.8.8.8 ipv4.method manual connection.autoconnect yes
2 [root@localhost ~]#nmcli con reload    ##重新加载
3 [root@localhost ~]#nmcli con up ens33   ##开启网卡

(3)域名解析配置文件:/etc/hosts

hosts文件和DNS服务器的比较

  • 默认情况下,系统首先从hosts文件查找解析记录
  • hosts文件只对当前的主机有效
  • hosts文件可减少DNS查询过程,从而加快访问速度

1.10scp远程同步

[root@localhost ~]#scp /etc/passwd root@192.168.10.20:/opt/passwd

1.11多网卡绑定

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的。通bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。

实验环境:CentOS7
实验目的:bond将多块网卡根据排列组合的功能的不同当成一块网卡使用
1、添加一块网卡
2、修改配置文件
cd /etc/sysconfig/network-scripts/
配置1:
vim ifcfg-bond0
NAME=bond0
TYPE=bond
DEVICE=bond0
BOOTPROTO=none
IPADDR=192.168.10.100
NETMASK=255.255.255.0
GATEWAY=192.168.10.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"

配置2:
vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
MASTER=bond0
SLAVE=yes
ONBOOT=yes

配置3:
cp ifcfg-ens33 ifcfg-ens36
vim ifcfg-ens36
BOOTPROTO=none
NAME=ens36
DEVICE=ens36
MASTER=bond0
SLAVE=yes
ONBOOT=yes

3、重启服务:systemctl restart network

4、测试:先ping查看bond0的正常情况:ping 192.168.10.100 -c4
     然后去虚拟机断掉一块网卡不影响bond0    最后重新开启一个端口验证:ssh 192.168.10.100

操作:

1、添加网卡

2、修改配置文件

配置1:创建并修改bond0虚拟网卡

配置2:修改ens33网卡

 配置3:创建并修改ens36网卡

3、重启网卡

4、测试
先ping,bond0查看的正常情况:ping 192.168.10.100 -c4

然后去虚拟机断掉一块网卡不影响bond0

最后重新开启一个端口验证:ssh 192.168.10.100

1.12tcpdump

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句帮助去除无用的信息。

参数说明:
-a:尝试将网络和广播地址转换成名称。
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作。
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e:在每列倾倒资料上显示连接层级的文件头。
-f:用数字显示网际网络地址。
-F<表达文件>:指定内含表达方式的文件。
-i<网络接口>:使用指定的网络截面送出数据包。
-l:使用标准输出列的缓冲区。
-n:不把主机的网络地址转换成名字。
-N:不列出域名。
-O:不将数据包编码最佳化。
-p:不让网络界面进入混杂模式。
-q:快速输出,仅列出少数的传输协议信息。
-r<数据包文件>:从指定的文件读取数据包数据。
-s<数据包大小>:设置每个数据包的大小。
-S:用绝对而非相对数值列出TCP关联数。
-t:在每列倾倒资料上不显示时间戳记。
-tt:在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型。
-v:详细显示指令执行过程。
-vv:更详细显示指令执行过程。
-x:用十六进制字码列出数据包资料。
-w<数据包文件>:把数据包数据写入指定的文件。
 1 案例:
 2 [root@server ~]#tcpdump -D        #tcpdump查看网卡:不指定任何参数,监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡。
 3 [root@server ~]#tcpdump -i ens33    #指定查看ens33 网卡
 4 [root@server ~]#tcpdump host 192.168.10.10 -i ens33    #监听特定主机,监听主机192.168.10.10的通信包,注意:出、入的包都会被监听。
 5 [root@server ~]#tcpdump src host 主机地址    #特定来源
 6 [root@server ~]#tcpdump dst host 主机地址    #特定目标地址
 7 [root@server ~]#tcpdump host hostname    #如果不指定src跟dst,那么来源或者目标是hostname的通信都会被监听
 8 [root@server ~]#tcpdump -i ens33 -nn icmp and src host 192.168.10.20 and dst host 192.168.10.10    #面试题
 9 [root@server ~]#tcpdump ip host 192.168.10.10 and 192.168.10.20 -i ens33    #只抓取特定主机之间的数据包
10 [root@server ~]#tcpdump port 80
11 [root@server ~]#tcpdump tcp port 22 and src host 192.168.10.10 -i ens33
 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 【强转】QEMU+GDB调试linux内核全过程
    【强转】QEMU+GDB调试linux内核全过程
    昨天更新了一篇名为《QEMU+GDB调试linux内核全过程》[link][https://blog.csdn.net/weixin_37867857/article/details/88138432]的博客,发现排版比较混乱,而且思维也比较混乱。咋一看下来简直是惨不忍睹,而且会给读者在安装过程中一种云里雾里的感觉,加上
    03-08
  • Linux下Bochs,NASM安装和使用 linux bom
    Linux下Bochs,NASM安装和使用 linux bom
    以Ubuntu为例,先更新一下:sudo apt-get updatesudo apt-get upgrade然后安装Bochs环境:sudo apt-get install build-essential xorg-dev libgtk2.0-dev安装NASMNASM官网下载,这以nasm-2.14.02.tar.gz为例:用tar zxvf nasm-2.14.02.tar.gz解压后编译安装cd
    03-08
  • 把玩Alpine linux(一):安装
    把玩Alpine linux(一):安装
    导读Alpine Linux是一个面向安全应用的轻量级Linux发行版。它采用了musl libc和busybox以减小系统的体积和运行时资源消耗,同时还提供了自己的包管理工具apk。Alpine 的内核都打了grsecurity/PaX补丁,并且所有的程序都编译为Position Independent Executabl
    03-08
  • 日志审计与分析实验三(rsyslog服务器端和客户端配置)(Linux日志收集)
    日志审计与分析实验三(rsyslog服务器端和客户
     Linux日志收集一、实验目的:1、掌握rsyslog配置方法2、配置rsyslog服务收集其他Linux服务器日志:C/S架构:客户端将其日志上传到服务器端,通过对服务器端日志的查询,来实现对其他客户端的日志进行集中管理;下面实现就是通过两套机器来实现,(server:19
    03-08
  • Linux学习系列--如何在Linux中进行文件的管理
    Linux学习系列--如何在Linux中进行文件的管理
    文件在常见的Linux的文件系统中,经常使用能了解到的文件管理系统是分为多个文件夹进行管理的。如何查看文件路径 pwd ,在文件目录中,会有一个点(.)代表的是当前目录,两个点(..)代表的是当前目录的上层目录在Linux下,所有以点开始的文件都是“隐藏文件
    03-08
  • [JetBrains] 我想在 Linux 上使用 macOS 键绑定!
    [JetBrains] 我想在 Linux 上使用 macOS 键绑定
    很高兴认识你,我的名字是kitakkun。我最近开始实习,是工程界的新手。顺便说一句,这是我的第一篇文章。你最喜欢的操作系统是什么?视窗?苹果系统?还是Linux?我将它们全部用于不同的目的,但感觉就像 macOS ≒ LinuxWindows。一两个月前,我最喜欢 Linux
    03-08
  • linux 配置Socks51
    linux 配置Socks51
    ***大家耳熟能详,但是socks用到的人比较少,那什么是socks呢?请看第二段或者百度百科,socks分别有4和5两个版本,现在5为主流。工作中经常用***访问国外,但是同时国内的速度又慢了,让人很纠结,实际上这个时候可以考虑使用socks。指定某一个程序使用国外s
    02-10
  • linux下如何单独编译设备树? linux设备树是什
    答: make vendor/device_name.dtb  如: make freescale/fsl-1043a-rdb.dtb
    02-10
  • linux下mysql开启远程访问权限及防火墙开放3306端口
    linux下mysql开启远程访问权限及防火墙开放3306
    开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限。主流的有两种方法,改表法和授权法。相对而言,改表法比较容易一点,个人也是比较倾向于使用这种方法,因此,这
    02-10
  • 移植linux3.7到nuc900系列开发板遇到的问题
    通过移植学习linux新版本内核,大概了解一下内核变化。记录一下移植过程中遇到的问题或值得注意的地方。1,添加一款arm9芯片的支持首先修改\arch\arm\tools\mach-types文件添加一行w90p950evbMACH_W90P950EVBW90P950EVB同目录下的脚本文件在编译内核时会根据
    02-10
点击排行