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
posted @ 2020-09-27 23:49  Cyzhouke  阅读(351)  评论(0编辑  收藏  举报