网络管理基础

Linux网络管理

1.网络管理概念

shell 复制代码
网络接口和名称 :网卡
ip地址
网关
主机名称
路由
2.管理工具
shell 复制代码
net-tools:     #安装包
ifconfig  netstat  准备要废掉了。

iproute:    #安装包
ip  #提供ip命令
3.认识网卡
shell 复制代码
lo网卡 :本地回环网卡,本机上的服务自己访问自己时用的
#网卡里面信息
ip 地址
子网掩码
广播地址
mac地址

查看网卡

shell 复制代码
[root@linux-server ~]# ip a   #方式一
[root@linux-server ~]# ifconfig  #方式二

临时设置ip

方式如下

shell 复制代码
[root@linux-server ~]# ip a a 192.168.246.161/24 dev ens33

删除设置的临时ip

shell 复制代码
[root@linux-server ~]# ip a d 192.168.246.161/24 dev ens33

add------添加
del------删除

启动关闭网卡

shell 复制代码
启动:
#ifconfig 网卡名  up  #方式一
#ifup  网卡名  #方式二
shell 复制代码
关闭网卡            
# ifconfig 网卡名 down  #方式一
# ifdown 网卡名   #方式二
4.网关
shell 复制代码
网关:网络的关卡:是为了访问其他网络。
静态路由和动态路由

路由器在转发数据时,需要先在路由表中查找相应的路由,有三种途径

(1)直连路由:路由器自动添加和自己直连的路由

(2)静态路由:管理员手动添加的路由

(3)动态路由:由路由协议动态建立的路由

静态路由

缺点

不能动态的反映网络拓扑,当网络发生变化的时候,管理员必须手动的改变路由

优点

不会占用路由器太多的cpu和RAM资源,也不会占用太多带宽。

默认路由

(1) 实际上默认路由是一种特殊的静态路由,指的是当 路由表中与包的目的地址之间没有匹配的表项时,路由器能够做出选择。如果没有默认路由,那么目的地址在路由表中没有匹配表项的包将被丢弃。

(2)默认路由(Default route),如果IP数据包中的目的地址找不到存在的其它路由时,路由器会默认的选择的路由。

默认路由为0.0.0.0

动态路由

动态路由是与静态路由相对的一个概念,指路由器能够根据路由器之间的交换的特定路由信息自动地建立自己的路由表,并且能够根据链路和节点的变化适时地进行自动调整。当网络中节点或节点间的链路发生故障,或存在其它可用路由时,动态路由可以自行选择最佳的可用路由并继续转发报文。

Linux路由操作
shell 复制代码
查看路由表:
[root@linux-server ~]# ip r #r:route。查看路由和网关
default via 192.168.246.2 dev ens33 proto static metric 100 
192.168.246.0/24 dev ens33 proto kernel scope link src 192.168.246.160 metric 100

#via:通过的意思,相当于下一跳

添加静态路由删除静态路由

shell 复制代码
[root@linux-server ~]# ip r add 192.168.223.0/24 via 192.168.246.2  #添加路由
[root@linux-server ~]# ip r del 192.168.223.0/24 #删除路由
#via  表示通过的意思,下一跳
5.设置永久静态ip
shell 复制代码
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/  #网卡配置文件存放路径
[root@linux-server network-scripts]# cp ifcfg-ens33 ifcfg-ens33.bak #将源文件备份
[root@linux-server network-scripts]# vi ifcfg-ens33 #编辑网卡配置文件
TYPE="Ethernet"         #网络类型:以太网类型
PROXY_METHOD="none"   
BROWSER_ONLY="no"
BOOTPROTO="static"    #默认值none或static 这两种属于静态获取ip地址,dhcp自动获取ip
IPADDR=192.168.246.134 #设置静态ip地址
GATEWAY=192.168.246.2 #设置网关,nat模式网关是2,桥接为1.
NETMASK=255.255.255.0  #设置掩码或者
#PREFIX=24
DEFROUTE="yes"  #是否设置默认路由,yes表示该配置
NAME="ens33"    #网卡名称,可以不存在
DEVICE="ens33"   #设备名称
ONBOOT="yes"    #开机启动
DNS1=114.114.114.114 #dns全国通用地址,dns最多可以设置三个
DNS2=8.8.8.8 #谷歌的dns
DNS3=202.106.0.20 #北京的DNS。
shell 复制代码
重启网络---修改完配置文件一定要重启网络
# systemctl restart network   #rhel7
# /etc/init.d/network restart  红帽5、6里面的。

编辑DNS配置文件设置DNS

shell 复制代码
[root@linux-server ~]# vi /etc/resolv.conf   #添加如下内容
nameserver 114.114.114.114    #指定dns地址

设置动态ip

shell 复制代码
[root@linux-server ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"   #只需要将这里修改为dhcp。
DEFROUTE="yes"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"

重启网络
[root@linux-server ~]# systemctl restart network
6.查看mac地址
shell 复制代码
[root@soso666 ~]# ifconfig
arp协议:地址解析协议。

查看某个IP的MAC地址
[root@soso666 ~]# arping -I ens33 192.168.246.135  #要查看的ip地址
-I:指定使用那快网卡ping
7.开启路由转发
shell 复制代码
临时设置
[root@linux-server ~]# echo 1 > /proc/sys/net/ipv4/ip_forward #默认是零,没有开路由。1表示开启
永久设置 
# vim  /etc/sysctl.conf---添加如下内容
net.ipv4.ip_forward = 1
# sysctl  -p    #立即生效
8.修改主机名
shell 复制代码
方式一
[root@linux-server ~]# hostname #查看主机名
[root@linux-server ~]# hostnamectl set-hostname linux-server  #主机名
方式二
[root@linux-server ~]# vi /etc/hostname   ---编辑配置文件
soso666
[root@linux-server ~]# reboot 
[root@soso666 ~]#
9.配置本地解析
shell 复制代码
写法:ip   主机名
[root@soso666 ~]# vi /etc/hosts    ---添加如下内容
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.246.130 soso666 soso   #添加解析

10.修改网卡

将CentOS7修改网卡为eth0

shell 复制代码
1.修改网卡配置文件
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/
[root@linux-server network-scripts]# mv ifcfg-ens33 ifcfg-eth0  #改名
[root@linux-server network-scripts]# vim ifcfg-eth0  #只需要修改配置文件中的名称
NAME="eth0"
DEVICE="eth0"
2.GRUB添加kernel参数
[root@linux-server ~]# vim /etc/sysconfig/grub   #在文件中最后一行添加
GRUB_CMDLINE_LINUX="...... net.ifnames=0" #告诉系统关闭原来命名功能
3.执行命令生效---#加载配置文件
[root@linux-server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
4.重启机器
 # reboot
[root@linux-server ~]# cd /etc/sysconfig/network-scripts/

tcpdump抓包

复制代码
大鹏一日同风起,扶摇直上九万里。

tcpdump是一款强大的网络抓包工具,运行在Linux平台上。熟悉tcpdump的使用能够帮助我们分析、调试网络数据。

在实际工作中,需要以root权限去执行该命令。

一、常用命令选项

shell 复制代码
-i #指定监听网络接口
-nn #进行ip和端口名称的转换,一个n不要ip解析到域名,将协议转换为端口
-w #将捕获到的信息保存到文件中,且不分析和打印在屏幕
-r #从指定的文件中读取数据,一般是-w保存的文件
-v #输出稍微详细的信息
-vv#输出详细的报文信息

二、安装tcpdump工具

shell 复制代码
[root@tcpdump-server ~]# yum install -y tcpdump

实验环境

shell 复制代码
1.准备两台机器
192.168.80.128 ----tcpdump-server
192.168.80.129 ----test-server
2.两台机器均关闭防火墙和selinux

六个标记

shell 复制代码
SYN(synchronous建立联机) 
ACK(acknowledgement 确认) 用.表示
PSH(push传送)
FIN(finish结束) 
RST(reset重置) 
URG(urgent紧急)
==========
Sequence number(顺序号码)

监听网卡端口为80的应用发出和接收的所有http协议包

shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33  port 80 -vv -nn
[root@test-server ~]# curl http://192.168.80.128   #测试

监视ens33网卡上源地址192.168.80.129的所有网络包

shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33 src 192.168.80.129
[root@test-server ~]# ssh 192.168.80.128 #测试

监视ens33网卡上目的地址是192.168.80.129的所有网络包

shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33 dst 192.168.80.129

两台机器同时操作

shell 复制代码
[root@tcpdump-server ~]# ip a  #查看自己网卡
#抓来自192.168.80.129这台机器的imcp协议的包
shell 复制代码
[root@test-server ~]# ping -c 1 192.168.80.128 #ping tcpdump的机器一次
PING 192.168.80.128 (192.168.80.128) 56(84) bytes of data.
64 bytes from 192.168.80.128: icmp_seq=1 ttl=64 time=0.751 ms

--- 192.168.80.128 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.751/0.751/0.751/0.000 ms
shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33 icmp -vv -nn
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
00:55:58.756161 IP (tos 0x0, ttl 64, id 33221, offset 0, flags [DF], proto ICMP (1), length 84)
    192.168.80.129 > 192.168.80.128: ICMP echo request, id 1139, seq 1, length 64
00:55:58.756254 IP (tos 0x0, ttl 64, id 11681, offset 0, flags [none], proto ICMP (1), length 84)
    192.168.80.128 > 192.168.80.129: ICMP echo reply, id 1139, seq 1, length 64

echo request :请求包
echo reply:回复包

实验二抓一个tcp的包--全部在文本模式下操作

shell 复制代码
[root@tcpdump-server ~]# yum install -y epel*
[root@tcpdump-server ~]# yum install -y nginx
[root@tcpdump-server ~]# systemctl start nginx
shell 复制代码
[root@test-server ~]# curl -I http://192.168.80.128/  #测试访问
shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn -w tcp.txt  #抓包tcp--在文本模式下

#测试
[root@test-server ~]# curl -I http://192.168.80.128/  --访问
shell 复制代码
[root@tcpdump-server ~]# ls
anaconda-ks.cfg  tcp.txt   ---抓包生成的文件,不能用vim查看
[root@tcpdump-server ~]# tcpdump -r tcp.txt  #读生成的文件
shell 复制代码
[root@tcpdump-server ~]# tcpdump -i ens33 tcp -vv -nn
[root@test-server ~]# curl -I http://192.168.80.128/  --访问,文本模式下

按shift键加pu键可以上翻。pd键可以下翻

=======导入wireshark

1.需要重新抓包一次并保存。

shell 复制代码
[root@tcpdump-server ~]# rm -rf tcp.txt #将原来的删除
shell 复制代码
[root@linux-server ~]# curl -I http://192.168.80.120
shell 复制代码
2.用客户端工具连接tcpdump-server的机器将产生的文件导入wireshark中
[root@tcpdump-server ~]# ls
tcp.txt
[root@tcpdump-server ~]# sz tcp.txt #下载到桌面
相关推荐
wanhengidc6 分钟前
云手机的硬件依赖性如何?
运维·服务器·智能手机·云计算
piaoroumi11 分钟前
UVC调试
linux·运维·前端
VekiSon17 分钟前
Linux系统编程——标准IO
linux·运维·服务器
kaikaile199523 分钟前
LDPC编解码与未编码信息的误码率比较
网络
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ42 分钟前
aspect实现请求校验,但是WebSocket 端点类不能被 AOP 代理解决方案
网络·websocket·网络协议
Evan芙1 小时前
DNS服务器类型,解析答案,正反解析域,资源记录定义总结
运维·服务器
wanhengidc1 小时前
巨椰 云手机办公便利性高
运维·服务器·安全·智能手机·云计算
数字护盾(和中)1 小时前
从边界突破到物理破坏:APT 工控攻击链路与防御闭环
网络
Saniffer_SH1 小时前
【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
运维·服务器·网络·人工智能·驱动开发·fpga开发·硬件工程
大白的编程日记.1 小时前
【计算网络学习笔记】Socket编程UDP实现简单聊天室
网络·笔记·学习