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