• Linux | 网络通讯命令


    1、ifconfig命令:显示或设置网络设备

    【语法格式】

    ifconfig [参数]
    

    【常用参数】

    • add<地址>:设置网络设备IPv6的IP地址
    • del<地址>:删除网络设备IPv6的IP地址
    • down:关闭指定的网络设备
    • up:启动指定的网络设备
    • IP:指定网络设备的IP地址

    【注意】

    用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在了,要想将配置信息永远的保存在电脑里,就需要修改网卡的配置文件。

    【实例】

    显示网络设备信息

    [root@localhost ~]# ifconfig
    

    启动关闭指定网卡

    [root@localhost ~]# ifconfig enp0s3 down
    [root@localhost ~]# ifconfig enp0s3 up
    

    【网卡介绍】

    • eno1:板载网卡
    • ens33:PCI-E网卡
    • enp0s3:无法获取物理信息的PCL-E网卡
    • eth0:以上都不匹配时使用

    【网络接口命名修改】

    要想修改网络接口名称,则通过biosdevname和net.ifnames两个参数进行改名。

    1、编辑/etc/default/grub文件,在GRUB_CMDLINE_LINUX增加biosdevname=0和net.ifnames=0
    2、更新grub,grub2-mkconfig -o /boot/grub2/grub.cfg/3
    3、重启系统:reboot
    
    biosdevname net.ifnames 网卡名
    默认 0 1 ens33
    组合1 1 0 em1
    组合1 0 0 eth0

    2、route命令:显示并设置路由

    【语法格式】

    route [参数]
    

    【常用参数】

    • -A:设置地址类型( 默认IPv4)
    • -C:打印linux核心的路由缓存
    • -v:详细信息模式
    • -n:不执行DNS反向查找,直接显示数字形式的ip地址
    • -e:netstat格式显示路由表
    • -net:到一个网络的路由表
    • -host:到一个主机的路由表
    • Add:增加指定的路由记录
    • Del:删除指定的路由记录
    • Target:目的网络或目的主机
    • gw:设置默认网关
    • mss:设置TCP的最大区块长度(MSS),单位MB
    • window:指定通过路由表的TCP连接的TCP窗口大小
    • dev:路由记录所表示的网络接口

    【注意】

    直接在命令行下执行route命令来添加路由,不会永久保存。当网卡重启或者机器重启之后,该路由就失效了。可以在/etc/rc.local中添加route命令来保证该路由设置永久有效。

    【实例】

    显示当前路由

    [root@localhost ~]# route
    

    添加一条路由记录

    [root@localhost ~]# route add -net 192.168.5.0 netmask 192.168.60.1 dev ens192
    

    删除一条路由记录

    [root@localhost ~]# route del -net 192.168.5.0 netmask 192.168.60.1 dev ens192
    

    添加和删除默认网关

    [root@linuxcool ~]# route add default gw 192.168.60.1
    [root@linuxcool ~]# route del default gw 192.168.60.1
    

    3、ping命令:测试主机间网络连通性

    【语法格式】

    ping [参数] [目标主机]
    

    【常用参数】

    • -d:使用Socket的SO_DEBUG功能
    • -c:指定发送报文的次数
    • -i:指定发送信息的间隔时间
    • -I:使用指定的网络接口送出数据包
    • -l:设置在送出要求信息之前,先行发出的数据包
    • -n:只输出数值
    • -p:设置填满数据包的范本样式
    • -q:不显示指令执行过程
    • -R:记录路由过程
    • -s:设置数据包的大小
    • -t:设置存活数值TTL的大小
    • -v:详细显示指令的执行过程

    【注意】

    Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。

    【实例】

    检测与百度网站的连通性

    利用ping命令获取指定网站的IP地址

    4、tcpdump命令:监视网络接口的数据包

    【语法格式】

    tcpdump [参数]
    

    【常用参数】

    • -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<数据包文件>:把数据包数据写入指定的文件

    【注意】

    tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。
    tcpdump命令工作时先要把网卡的工作模式切换到混杂模式。所以tcpdump命令需要以root身份运行。tcpdump命令是linux下使用最广泛的网络协议分析工具。使用tcpdump命令时,必须精通TCP/IP协议工作原理。

    【实例】

    监听eth1网络接口的数据包,默认监听eth0

    [root@linuxcool ~]# tcpdump -i eth1
    

    监视指定主机的数据包

    [root@linuxcool ~]# tcpdump host 192.168.6.0
    

    截取任意网卡上访问192.168.5.10的数据包,以ip形式显示(-n),不解析域名。

    [root@linuxcool ~]# tcpdump -i any -n host 192.168.5.10
    

    截获主机192.168.10.10 和主机192.168.10.20 或192.168.10.30的通信

    [root@linuxcool ~]# tcpdump host 192.168.10.10 and  (192.168.10.20 or 192.168.10.30 )
    

    截取任意网卡上访问80端口的数据包,以ip形式显示(-n),不解析域名。

    [root@linuxcool ~]# tcpdump -i any port 80 -A
    

    截取任意网卡上访问192.168.5.10,端口为80的数据包

    [root@linuxcool ~]# tcpdump -i any -n host 192.168.5.10 and port 80
    

    将捕获的数据包保存

    [root@linuxcool ~]# tcpdump -i any -n host 192.168.5.10 and port 80 -w /tmp/filename
    
  • 相关阅读:
    Mat类具体解释(二)
    Android NDK开发篇(六):Java与原生代码通信(异常处理)
    Redis源代码剖析--对象object
    NioEventLoopGroup源码分析与线程设定
    零拷贝剖析以及用户空间与内核空间切换
    Java 字符集编码
    NIO网络编程
    NIO网络访问模式实践
    Spring Boot使用Html
    内存映射文件MappedByteBuffer和Buffer的Scattering与Gathering
  • 原文地址:https://www.cnblogs.com/Cyzhouke/p/13742579.html
Copyright © 2020-2023  润新知