精华内容
下载资源
问答
  • 常用网络服务及功能linux
    万次阅读
    2021-08-24 21:47:04


    前言

    #网络配置查看
    ifconfig
    ip a
    #测试网络连通性
    ping
    #显示正确的路由表
    ip route
    #跟踪路由
    traceroute
    tracepath
    mtr
    #确定名称服务器使用
    nslookup
    host
    dig
    #抓包工具
    tcpdump
    wireshark
    #安全扫描工具
    nmap
    netcat :网络界的瑞士军刀,即 nc
    #流量控制工具
    tc
    #查看或修改网卡配置
    mii-tool
    ethtool
    modprobe
    dmesg
    rmmod
    ......
    

    网络管理命令有很多,下面会介绍一些比较常用的。

    1. ifconfig

    ifconfig命令用于显示或设置网络设备,来源于 net-tools 工具包
    格式:

    ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
    

    参数说明:

    add<地址> 设置网络设备IPv6的IP地址
    del<地址> 删除网络设备IPv6的IP地址
    down 关闭指定的网络设备
    <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址
    io_addr<I/O地址> 设置网络设备的I/O地址
    irq<IRQ地址> 设置网络设备的IRQ
    media<网络媒介类型> 设置网络设备的媒介类型
    mem_start<内存地址> 设置网络设备在主内存所占用的起始地址
    metric<数目> 指定在计算数据包的转送次数时,所要加上的数目
    mtu<字节> 设置网络设备的MTU
    netmask<子网掩码> 设置网络设备的子网掩码
    tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址
    up 启动指定的网络设备
    -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理
    -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能
    -promisc 关闭或启动指定网络设备的promiscuous模式
    [IP地址] 指定网络设备的IP地址
    [网络设备] 指定网络设备的名称
    

    示例:

    #显示网络设备信息
    ifconfig  
    #启动关闭指定网卡
    ifconfig eth0 down/up	等于   ifdown/ifup eth0
    #设置最大传输单元
    ifconfig eth0 mtu 1500 
    #临时修改 IP
    ifconfig ens33 192.168.10.20/24
    #建立虚拟网卡(网卡别名),流量走主网卡
    ifconfig ens33:0 192.168.10.21
    ifconfig ens33:1 192.168.10.22
    #单独显示某网卡
    ifconfig eth0
    

    2. ip

    ip 命令和 ifconfig 类似,但前者功能更强大,并旨在取代后者。使用 ip 命令,只需一个命令,你就能很轻松地执行一些网络管理任务。ifconfig 是 net-tools 中已被废弃使用的一个命令,许多年前就已经没有维护了。iproute2 套件里提供了许多增强功能的命令,ip 命令即是其中之一。
    在这里插入图片描述
    示例:

    #显示网卡设备信息
    ip a	或者   ip addr show
    #查看链路层的状态,但是看不到 ip 地址
    ip link
    ip -s link	#显示更全面,显示不同网络接口的统计数据
    #查看接入你所在的局域网的设备的 MAC 地址
    ip neighbour
    #开启/关闭 eth0
    ip link set eth0 up/down
    #临时修改网卡名称
    ip link set eth1 name syhjnet
    #设置网卡别名(虚拟网卡)
    ip addr add 172.16.100.100/16 dev eth0 label eth0:0
    ip addr del 172.16.100.100/16 dev eth0 label eth0:0
    #给 eth0 添加 IP 地址
    ip addr add 20.0.0.19/24 dev eth0
    #删除 eth0 网卡上的 IP
    ip addr del 20.0.0.19/24 dev eth0
    ip addr flush dev eth0
    #设置 eth0 默认网关为 192.168.0.2
    ip route add default via 20.0.0.2 dev eth0
    #查看路由表条目
    ip route show
    #查看具体 IP 路由包从哪里来
    ip route get 20.0.0.19
    #更改默认路由
    ip route add default via 20.0.0.196
    #监控 netlink 消息
    ip monitor all
    

    参考:试试 Linux 下的 ip 命令

    3. ping

    Linux ping 命令用于检测主机,执行 ping 指令会使用 ICMP 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
    格式:

    ping [参数选项] [主机名或IP地址]
    
    参数含义
    -c设置完成要求回应的次数
    -i指定收发信息的间隔时间
    -s设置数据包的大小
    -w在设定的秒后退出

    示例:

    [root@c7-1 ~]#ping -c 5 www.baidu.com
    PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
    64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=128 time=25.0 ms
    64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=128 time=25.8 ms
    64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=3 ttl=128 time=25.9 ms
    64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=4 ttl=128 time=24.9 ms
    64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=5 ttl=128 time=25.8 ms
    
    --- www.a.shifen.com ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4039ms
    rtt min/avg/max/mdev = 24.938/25.535/25.974/0.448 ms
    

    4. route

    route 命令用于显示和操作 IP 路由表。
    格式:

    route [-nee]
    route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    

    选项说明:

    add		添加一条路由规则
    del		删除一条路由规则
    -net	目的地址是一个网络
    -host	目的地址是一个主机
    target	目的网络或主机
    netmask	目的地址的网络掩码
    gw		路由数据包通过的网关
    dev		为路由指定的网络接口
    

      要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器或者同时位于两个网络的网关。在 Linux 系统中,设置路由通常是为了解决以下问题:该 Linux 系统在一个局域网中,局域网中有一个网关,能够让机器访问 internet,那么就需要将这台机器的 IP 地址设置为 Linux 机器的默认路由。要注意的是,直接在命令行下执行 route 命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。要想永久保存,有如下方法:

    1.在 /etc/rc.local 里添加
    2.在 /etc/sysconfig/network 里添加到末尾
    3./etc/sysconfig/static-router :
    any net x.x.x.x/24 gw y.y.y.y
    

    route 命令的输出项说明:

    Destination	目标网段或者主机
    Gateway	    网关地址,”*” 表示目标是本主机所属的网络,不需要路由
    Genmask	    网络掩码
    Flags	    标记。一些可能的标记如下:
     	        U — 路由是活动的
     			H — 目标是一个主机
     			G — 路由指向网关
     			R — 恢复动态路由产生的表项
     			D — 由路由的后台程序动态地安装
     			M — 由路由的后台程序修改
     			! — 拒绝路由
    Metric	路由距离,到达指定网络所需的中转数(linux 内核中没有使用)
    Ref	    路由项引用次数(linux 内核中没有使用)
    Use	    此路由项被路由软件查找的次数
    Iface	该路由表项对应的输出接口
    

    示例:

    [root@c7-1 ~]#route -nee
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface    MSS   Window irtt
    0.0.0.0         20.0.0.2        0.0.0.0         UG    100    0        0 eth0     0     0      0
    20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0     0     0      0
    
    #路由主要有三种:主机路由,网络路由,默认路由
    #添加到主机的路由,目标 192.168.1.3 网关 172.16.0.1
    route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
    #添加到网络的路由,目标 192.168.0.0 网关 172.16.0.1
    route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
    route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
    route add -net 192.168.8.0/24 dev eth1 metric 200
    #添加默认路由,网关 172.16.0.1
    route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
    route add -net 0.0.0.0/0 gw 172.16.0.1
    route add default gw 172.16.0.1
    #删除路由
    route del -host 192.168.1.2 dev eth0:0  
    route del -host 10.20.30.148 gw 10.20.30.40  
    route del -net 10.20.30.40 netmask 255.255.255.248 eth0  
    route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41  
    route del -net 192.168.1.0/24 eth1  
    route del default gw 192.168.1.1  
    

    5. lsof

    lsof(list open files)是一个查看进程打开的文件的工具
    选项:

    -a:列出打开文件存在的进程
    -c<进程名>:列出指定进程所打开的文件
    -u:列出 UID 号进程详情
    -g:列出 GID 号进程详情
    -d<文件号>:列出占用该文件号的进程
    +d<目录>:列出目录下被打开的文件
    +D<目录>:递归列出目录下被打开的文件
    -n<目录>:列出使用 NFS 的文件
    -i<条件>:列出符合条件的进程( IPV(4/6)协议	:端口	@ip )
    -p<进程号>:列出指定进程号所打开的文件
    -n: 不反向解析网络名字
    

    具体示例参考:Linux 进程和计划任务管理

    6. netstat

    netstat 用来查看当前操作系统的网络连接状态、路由表、接口统计等信息,来自于 net-tools 工具包,ss 是 netstat 的升级版。

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

    常用命令选项:

    netstat [-anpt] [-anpu] [-anptu] [-anpltu] [-ntlp]
    

    示例:

    [root@c7-1 ~]#netstat -anpt
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      3631/master         
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3421/sshd           
    tcp        0      0 20.0.0.19:22            20.0.0.1:64385          ESTABLISHED 20165/sshd: root@pt 
    tcp        0     52 20.0.0.19:22            20.0.0.1:60938          ESTABLISHED 30806/sshd: root@pt 
    tcp6       0      0 ::1:25                  :::*                    LISTEN      3631/master         
    tcp6       0      0 :::22                   :::*                    LISTEN      3421/sshd           
    [root@c7-1 ~]#netstat -anpt | grep sshd
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3421/sshd           
    tcp        0      0 20.0.0.19:22            20.0.0.1:64385          ESTABLISHED 20165/sshd: root@pt 
    tcp        0     52 20.0.0.19:22            20.0.0.1:60938          ESTABLISHED 30806/sshd: root@pt 
    tcp6       0      0 :::22                   :::*                    LISTEN      3421/sshd           
    

    7. ss

    ss 命令来自于 iproute 包,是 netstat 的升级版本。netstat 通过遍历 /proc 来获取 socket 信息,ss 使用 netlink 与内核 tcp_diag 模块通信获取 socket 信息。
    格式:

    ss [OPTION]... [FILTER]
    

    选项:

    -t: tcp协议相关
    -u: udp协议相关
    -w: 裸套接字相关
    -x:unix sock 相关
    -l: listen 状态的连接
    -a: 所有
    -n: 数字格式
    -p: 相关的程序及 PID
    -e: 扩展的信息
    -m:内存用量
    -o:计时器信息
    

    示例:

    #显示本地打开的所有端口
    ss -l
    #列出当前 socket 详细信息
    ss -s
    #显示每个进程具体打开的 socket
    ss -pl
    #显示所有 tcp socket
    ss -at
    #显示所有的 udp socket
    ss -au
    #显示所有已建立的 ssh 连接
    ss -o state established '( dport = :ssh or sport = :ssh )'
    #显示所有已建立的HTTP连接
    ss -o state established '( dport = :http or sport = :http )'
    

    8. traceroute

    traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各个中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为 “*”,预设数据包大小是 40Bytes,用户可另行设置。如果没有 traceroute 命令可执行 yum -y install traceroute 安装。

    格式:

    traceroute [参数] [主机|IP]
    

    参数:

    -d 使用 Socket 层级的排错功能
    -f 设置第一个检测数据包的存活数值 TTL 的大小
    -F 设置勿离断位
    -g 设置来源路由网关,最多可设置 8 个
    -i 使用指定的网络界面送出数据包
    -I 使用 ICMP 回应取代 UDP 资料信息
    -m 设置检测数据包的最大存活数值 TTL 的大小
    -n 直接使用 IP 地址而非主机名称
    -p 设置 UDP 传输协议的通信端口
    -r 忽略普通的 Routing Table,直接将数据包送到远端主机上
    -s 设置本地主机送出数据包的 IP 地址
    -t 设置检测数据包的 TOS 数值
    -v 详细显示指令的执行过程
    -w 设置等待远端主机回报的时间
    -x 开启或关闭数据包的正确性检验
    

    示例:

    [root@c7-1 ~]#traceroute 20.0.0.25
    traceroute to 20.0.0.25 (20.0.0.25), 30 hops max, 60 byte packets
     1  20.0.0.25 (20.0.0.25)  0.942 ms  0.782 ms  0.647 ms
    #可以看到这两台机器之间没有经过路由,是直连或连着交换机的状态
    
    [root@c7-1 ~]#traceroute www.baidu.com
    traceroute to www.baidu.com (112.80.248.75), 30 hops max, 60 byte packets
     1  gateway (20.0.0.2)  5.900 ms  5.817 ms  5.758 ms
     2  * * *
     3  * * *
     4  * * *
    ......
    

    9. nslookup

    域名解析工具,执行 yum -y install bind-utils 安装。
    格式:

    nslookup 域名
    

    示例:

    [root@c7-1 ~]#nslookup www.baidu.com
    Server:		20.0.0.2
    Address:	20.0.0.2#53
    
    Non-authoritative answer:
    www.baidu.com	canonical name = www.a.shifen.com.
    Name:	www.a.shifen.com
    Address: 112.80.248.75
    Name:	www.a.shifen.com
    Address: 112.80.248.76
    
    [root@c7-1 ~]#nslookup www.google.com
    Server:		20.0.0.2
    Address:	20.0.0.2#53
    
    Non-authoritative answer:
    Name:	www.google.com
    Address: 104.244.46.208
    Name:	www.google.com
    Address: 2001::1f0d:5211
    
    [root@c7-1 ~]#cat /etc/resolv.conf	#域名解析配置文件
    # Generated by NetworkManager
    # 一行一个 DNS,最多配置三个 DNS,优先使用第一个 DNS 服务器
    nameserver 20.0.0.2
    
    [root@c7-1 ~]#cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    112.80.248.75 www.baidu.com
    #/etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向 DNS 服务器查询。
    

    10. dig

    也是解析域名,同样来自 bind-utils 包。
    格式:

    dig 域名
    

    示例:

    [root@c7-1 ~]#dig www.baidu.com
    
    ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.5 <<>> www.baidu.com
    ;; global options: +cmd
    ;; Got answer:
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46750
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
    
    ;; OPT PSEUDOSECTION:
    ; EDNS: version: 0, flags:; MBZ: 0x0005, udp: 1280
    ;; QUESTION SECTION:
    ;www.baidu.com.			IN	A
    
    ;; ANSWER SECTION:
    www.baidu.com.		5	IN	CNAME	www.a.shifen.com.
    www.a.shifen.com.	5	IN	A	112.80.248.75
    www.a.shifen.com.	5	IN	A	112.80.248.76
    
    ;; Query time: 2 msec
    ;; SERVER: 20.0.0.2#53(20.0.0.2)
    ;; WHEN: 三 825 16:46:53 CST 2021
    ;; MSG SIZE  rcvd: 104
    

    11. nmcli

    nmcli 命令可以完成网卡上所有的配置工作,并且可以写入配置文件永久生效。centos7 默认安装,没有执行 yum -y install NetworkManager。
    nmcli 命令相关术语:

     - 设备即网络接口
     - 连接是对网络接口的配置,一个网络接口可有多个连接配置,但同时只有一个连接配置生效
    

    格式:

    nmcli [OPTIONS] OBJECT { COMMAND | help }
    

    选项:

    -a	询问缺少的参数
    -c  是否在输出中使用颜色  
    -e  转义值中的列分隔符
    -f  指定要输出的字段
    -g  -m tabular -t -f 的快捷方式
    -m  输出模式
    -o  概览模式
    -p  更加友好的输出方式
    -s  允许显示密码
    -t  简洁输出
    -v  显示程序版本
    -w  设置等待完成操作的超时
    

    对象:

    g[eneral]       NetworkManager 的一般状态和操作
    n[etworking]    整体网络控制
    r[adio]         NetworkManager 无线电开关
    c[onnection]    NetworkManager 的连接
    d[evice]        由 NetworkManager 管理的设备
    a[gent]         NetworkManager 秘密代理或 polkit 代理
    m[onitor]       监控 NetworkManager 的变化
    

    示例:

    #查看帮助
    nmcli con add help
    #显示连接信息
    nmcli con show
    #显示活动连接
    nmcli con show --active
    #显示具体的网络连接配置
    nmcli con show eth0
    #显示设备状态
    nmcli dev status
    #显示网络接口属性
    nmcli dev show eth0
    #创建新连接 default,IP 通过 dhcp 自动获取
    nmcli con add con-name default type Ethernet ifname eth0
    #删除 default 连接
    nmcli con del default
    #创建新连接 static ,指定静态 IP,不自动连接
    nmcti con add con-name static   ifname eth0 autoconnect no type Ethernet
    ipv4.addresses 172.25.X.10/24 ipv4.gateway   172.25.X.254
    #启用 static 连接配置
    nmcli con up static
    #启用 default 连接配置
    nmcli con up default
    #修改连接设置
    nmcli con mod "static" connection.autoconnect no
    nmcli con mod "static" ipv4.dns 172.25.X.254
    nmcli con mod "static"  +ipv4.dns  8.8.8.8
    nmcli con mod "static"  -ipv4.dns  8.8.8.8
    nmcli con mod "static" ipv4.addresses “172.16.X.10/24  172.16.X.254”
    nmcli con mod "static"  +ipv4.addresses 10.10.10.10/16
    #DNS设置存放在 /etc/resolv.conf,PEERDNS=no 表示当 IP 通过 dhcp 自动获取时,dns 仍是手动设置,
    不自动获取等价于下面命令
    nmcli con mod "system eth0" ipv4.ignore-auto-dns yes
    

    nmcli 实现 bond0:

    #添加bonding接口
    nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup
    #添加从属接口
    nmcli con add type bond-slave ifname ens37 master bond0
    nmcli con add type bond-slave ifname ens33 master bond0
    #注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
    #要启动绑定,则必须首先启动从属接口
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
    #启动绑定
    nmcli con up mybond0
    

    12. tcpdump

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

    tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
    

    选项:

    -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
    #监听特定网卡
    tcpdump -i eth0
    #限制抓包的数量,抓到 1000 个包后,自动退出
    tcpdump -c 1000
    #监听特定主机,监听主机 10.0.0.100 的通信包,出、入的包都会被监听
    tcpdump host 10.0.0.100
    #特定来源
    tcpdump src host hostname
    #特定目标地址
    tcpdump dst host hostname
    #如果不指定 src 跟 dst,那么来源或者目标是 hostname 的通信都会被监听
    tcpdump host hostname
    #特定端口
    tcpdump port 3000
    #监听 TCP/UDP,服务器上不同服务分别用了 TCP、UDP 作为传输层,假如只想监听 TCP 的数据包
    tcpdump tcp
    #来源主机+端口+TCP,监听来自主机 10.0.0.100 在端口 22 上的 TCP 数据包
    tcpdump tcp port 22 and src host 10.0.0.100
    #监听特定主机之间的通信
    tcpdump ip host 10.0.0.101 and 10.0.0.102
    #10.0.0.101 和除了 10.0.0.1 之外的主机之间的通信
    tcpdump ip host 10.0.0.101 and ! 10.0.0.1
    
    #保存到本地,tcpdump 默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者 tcpdump 退出时,才会将输出写到本地磁盘,可以加上 -U 强制立即写到本地磁盘(一般不建议,性能相对较差)
    tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap
    
    
    #详细示例和解释
    tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
    (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
    据报的类型
    (2)-i eth1 : 只抓经过接口 eth1 的包
    (3)-t : 不显示时间戳
    (4)-s 0 : 抓取数据包时默认抓取长度为 68 字节。加上-S 0 后可以抓到完整的数据包
    (5)-c 100 : 只抓取 100 个数据包
    (6)dst port ! 22 : 不抓取目标端口是 22 的数据包
    (7)src net 192.168.1.0/24 : 数据包的源网络地址为 192.168.1.0/24
    (8)-w ./target.cap : 保存成 cap 文件,方便用 wireshark 分析
    

    参考:
    tcpdump 使用详解
    tcpdump命令

    13. arp

    arp 命令用于操作主机的 arp 缓冲区,可以用来显示 arp 缓冲区中的所有条目、删除指定的条目或者添加静态的 ip 地址与 MAC 地址对应关系。

    格式:

    arp [-vn]  [<HW>] [-i <if>] [-a] [<hostname>]             <-Display ARP cache
    arp [-v]          [-i <if>] -d  <host> [pub]               <-Delete ARP entry
    arp [-vnD] [<HW>] [-i <if>] -f  [<filename>]            <-Add entry from file
    arp [-v]   [<HW>] [-i <if>] -s  <host> <hwaddr> [temp]            <-Add entry
    arp [-v]   [<HW>] [-i <if>] -Ds <host> <if> [netmask <nm>] pub          <-''-
    

    参数:

    -a<主机>:显示 arp 缓冲区的所有条目
    -H<地址类型>:指定 arp 指令使用的地址类型
    -d<主机>:从 arp 缓冲区中删除指定主机的 arp 条目
    -D:使用指定接口的硬件地址
    -e:以 Linux 的显示风格显示 arp 缓冲区中的条目
    -i<接口>:指定要操作 arp 缓冲区的网络接口
    -s<主机><MAC地址>:设置指定的主机的 IP 地址与 MAC 地址的静态映射
    -n:以数字方式显示 arp 缓冲区中的条目
    -v:显示详细的 arp 缓冲区条目,包括缓冲区条目的统计信息
    -f<文件>:设置主机的 IP 地址与 MAC 地址的静态映射
    

    示例:

    #显示 ARP 表
    arp -n	或	ip neigh
    #ARP 静态绑定 MAC 地址可以防止 ARP 欺骗
    arp -s 10.0.0.6 00:0c:29:32:80:38
    #删除 arp 缓存条目
    arp -d 10.0.0.6
    #指定回复的 MAC 地址
    arp -i eth0 -Ds 10.0.0.2 eth1 pub
    

    kali 系统通过 arp 欺骗实现网络流量劫持

    #启动路由转发功能
    [root@kali ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
    #安装包
    [root@kali ~]# apt-get install dsniff
    #欺骗目标主机,本机是网关
    [root@kali ~]# arpspoof -i eth0 -t [被劫持的目标主机IP] [网关IP]
    #欺骗网关,本机是目标主机
    [root@kali ~]# arpspoof -i eth0 -t [网关IP] [被劫持的目标主机IP] 
    

    14. nmap

    nmap 是一个强大的端口扫描类安全评测工具,支持 ping 扫描、多端口检测等多种技术。

    # nmap 软件包安装
    rpm -qa | grep nmap
    yum -y install nmap
    

    格式:

    nmap [扫描类型] [选项] [扫描目标]
    

    常用参数选项:

    -p:指定扫描的端口
    -n:禁用反向 DNS 解析(加快扫描速度)
    -sS:TCP 的 SYN 扫描(半开扫描),只向目标发出 SYN 数据包,如果收到 SYN/ACK 响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放
    -sT:TCP 连接扫描,这是完整的 TCP 扫描方式(默认扫描类型),用来建立一个 TCP 连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放
    -sF:TCP 的 FIN 扫描,开放的端口会忽略这种数据包,关闭的端口会回应 RST 数据包。许多防火墙只对 SYN 数据包进行简单过滤,而忽略了其他形式的 TCP 攻击包。这种类型的扫描可间接检测防火墙的健壮性
    -sU:UDP 扫描,探测目标主机提供哪些 UDP 服务,UDP 扫描的速度会比较慢
    -sP:ICMP 扫描,类似于 ping 检测,快速判断目标主机是否存活,不做其他扫描
    -P0:跳过 ping 检测,这种方式认为所有的目标主机是存活的,当对方不响应 ICMP 请求时,使用这种方式可以避免因无法 ping 通而放弃扫描
    

    TCP 控制位类型:

    SYN  建立连接
    ACK  确认数据包传输状况
    FIN  关闭连接
    PSH  推送位
    RST  重置
    URG  紧急
    

    示例:

    #分别查看本机开放的 TCP 端口、UDP 端口
    nmap -sT 127.0.0.1
    nmap -sU 127.0.0.1
    #检测 192.168.80.0/24 网段有哪些主机提供 HTTP 服务
    nmap -p 80 192.168.80.0/24
    #检测 192.168.80.0/24 网段有哪些存活主机
    nmap -n -sP 192.168.80.0/24 
    
    更多相关内容
  • 网络命令 write 指令所在路径:/usr/bin/write 执行权限:所有用户 语法:write 功能描述:给用户发信息,以Ctrl+D保存结束 范例: # write sports ...功能描述:测试网络连通性 范例: # ping 192
  • Linux查看测试网络

    千次阅读 2022-06-19 21:36:20
    Linux查看测试网络

    Linux网络设置

    一、查看及测试网络

    1、查看网络配置

    查看及测试网络配置是管理Linux网络服务的第一步,下面介绍Linux系统中的一些查看及测试命令。

    1)ifconfig命令–查看网络接口地址

    主机的网卡通常称为网络接口,在Linux系统中,使用ifconfig命令可以查看网络接口的地址配置信息。

    ①查看活动的网络接口设备

    执行“ifconfig”命令且不带任何选项和参数时,将显示当前主机中已启用(活动)的网络接口信息。

    上述输出结果中:

    • 第一部分“ens33”是网卡名称,包括网卡的ip地址、网络地址、掩码地址等。

    • 第二部分“lo”是回环网络接口,是“loopback”的缩写,是一个虚拟的网络接口,IP地址默认为“127.0.0.1”,回环地址通常仅用于对本机的网络测试。

    • 第三部分“virbr0”是虚拟网桥网卡(virtual bridge)的相关信息。

      如果需要查看所有网络接口信息,可以在“ifconfig”命令后添加“-a”选项,即执行命令“ifconfig -a”。

    ②查看指定的网络接口信息

    当只需要查看其中某一个网络接口的信息时,可以使用网络接口的名称作为ifconfig命令的参数。例如执行“ifconfig ens33”命令只查看网卡ens33的配置信息。

    从上述命令显示的结果中,可以获知ens33网卡的一些基本信息,如下所述:

    • ether:表示网卡的物理地址(MAC地址)。
    • inet:表示网络接口的IP地址。
    • broadcast:表示网络接口所在网络的广播地址。
    • netmask;表示网络接口的子网掩码。

    除此外,还可以通过“TX"”RX"等信息了解通过该网络接口发送和接收的数据包个数、流量等更多属性。

    2)ip/ethtool命令–查看网络接口

    ip/ethtool与ifconfig命令相同,也是查看网络接口的命令,但是功能更为强大。常用的命令有:

    • ip link:查看网络接口的数据链路层信息。
    • ip address:查看网络接口的网络层信息。
    • ethtool eth0:查看指定网络接口的速率、模式等信息。

    3)route命令–查看路由表条目

    直接执行route命令可以查看当前主机中的路由表信息。

    上述输出结果中,Destination列对应目标网段的地址,Gateway列对应下一跳路由器的地址,Iface列对应发送数据的网络接口。

    当目标网段为default时,表示此行是默认网关记录;当下一跳地址为“ * ”时,表示目标网段与本机是直接相连的。

    4)netstat命令–查看网络连接情况

    通过netstat命令可以查看当前系统的网络连接状态、路由表、接口统计等信息,常用的选项有:

    • -a:显示当前主机中所有活动的网络连接信息。

    • -n:以数字的形式显示相关的主机地址、端口等信息。

    • -r:显示路由表信息。

    • -l:显示处于监听(listening)状态的网络连接及端口信息。

    • -t:查看TCP协议相关的信息。

    • -u:显示UDP协议相关的信息。

    • -p:显示与网络连接相关联的进程号、进程名称信息(需root权限)。

      通常使用“-anpt”组合选项,以数字形式显示当前系统中所有的TCP连接信息,同时显示对应的进程信息。

    结合命令管道使用grep命令,还可以在输出结果中过滤指定的记录。例如,执行下列操作可查看本机中TCP协议相关的信息(相当于执行“netstat -anp”命令)服务程序。

    2、测试网络连接

    1)ping命令–测试网络连通性

    使用ping命令可以向目的主机持续的发送测试数据包,并显示反馈结果,直到按Ctrl+C组合键中止测试,并显示最终结果。

    运行ping命令测试网络连通性时,如果不能获得从目标主机发回的反馈数据包,则表示在本机到目标主机之间存在网络连通性故障。例如反馈信息”Destinatin Host Unreachable“,表示目的主机不可到达,可能目标地址不存在或者主机已经关闭;如反馈”Network is unreachable“信息,则表示没有可用的路由记录(如默认网关),无法到达目标主机所在的网络。

    当网络中存在影响通信过程稳定性的因素(如网卡故障、病毒/网络攻击等),使用ping测试命令可能看到”Request timeout“的反馈结果,表示与目标主机间的连接超时(数据包响应缓慢或丢失)。当目标主机有严格的防火墙限制时,也可能收到”Request timeout“反馈结果。

    2)traceroute–命令跟踪数据包的路由途径

    使用traceroute命令可以测试从当前主机到目的主机之间经过了哪些网络节点,并显示各中间节点的连接状态(响应时间)对于无法相应响应的节点,连接状态将显示为“ * ”。

    ​ traceroute命令能比ping命令更加准确的定位网络连接的故障点(中断点),因此在网络测试和排错过程中,通常先使用ping命令测试与目的主机的网络连接,如有故障,再使用traceroute命令跟踪查看定位故障的网络节点。

    3)nslookup命令–测试DNS域名解析

    当域名解析出现异常时,将无法使用域名的形式访问网络中的Web站点、电子邮件系统等服务。nslookup命令是用来测试域名解析的专用工具,指定解析的目标域名作为参数即可。例如执行“nslookup www,baidu,com”命令,根据输出结果查看域名www.baidu.com对应的IP地址是多少。

    如果能够成功反馈要查询的域名对应IP地址,则表示域名解析没问题。否则需要根据实际反馈情况来判断故障原因。

    二、设置网络地址参数

    在Linux主机中,手动修改网络配置包括两种最基本的方法。

    • 临时配置:通过命令行修改当前正在使用的网络地址,修改后立即可以生效。但由于所做修改没有固定地存放在静态的文件中,当重启network服务或者重启主机后会失效,一般在调试网络的过程中使用。
    • 固定配置:通过配置文件来存放固定的各种网络地址,需要重启network服务或重启主机后才会生效,但相当于“永久配置”,一般在需要为服务器设置固定的网络地址时使用。

    1、使用网络配置命令

    1)ifconfig命令–修改网卡的地址、状态

    ifconfig命令可以用来查看网卡配置,也可以用作修改网卡的IP地址、子网掩码,还可以用作绑定虚拟网络接口、激活或者停用网络接口。

    ①修改网卡的IP地址、子网掩码

    需要设置网卡的地址时,命令格式如为:

    ifconfig 网络接口名称 IP地址 [netmask 子网掩码]

    或者

    ifconfig 网络接口名称 IP地址 [/子网掩码长度]

    指定新的IP地址和子网掩码后,原有的地址失效。例如执行命令“ifconfig ens33 192.168.10.128/24"或者命令”ifconfig ens33 192.168.10.128 netmask 255.255.255.0“表示将网卡ens33的IP地址设置为192.168.10.128,子网掩码长度为24。

    ②禁用、激活网络接口

    结合”down”或者“up”开关选项可以临时禁用或者重新激活指定的网络接口,例如执行命令“ifcofig ens33 down”(也可以直接”ifdown ens33“)来禁用网卡ens33。

    ③为网卡绑定虚拟接口

    在对服务器网络调试时,可能需要临时在同一个网卡上使用一个新的IP地址,但是又不能覆盖原有IP避免服务程序不可用,这时可以网卡绑定一个虚拟网络接口,并为虚拟接口设置新的IP地址。例如,下面操作为ens33网卡配置了虚拟接口ens33:0并将该虚拟接口IP设置为192.168.10.188。

    2)route命令–添加、删除静态路由记录

    route命令不仅可以用于查看路由表信息,也可以用于删除、添加静态的路由表条目。

    ①添加、删除到指定网段的路由记录

    通过“route add”操作可以添加路由记录,结合“-net”选项指定目标网段的地址,结合“gw”指定下一跳的路由器IP地址。例如下面操作添加到192.168.20.0/24网段的静态路由,指定下一跳地址为192.168.30.188(需要与本机其中一个接口的IP地址在同一网段内)。

    通过“route del”操作可以删除路由记录,结合“-net”选项指定对应路由记录中目标网段的地址即可。例如删除上面添加的到182.168.20.0/24网段的静态路由可以执行下面操作。

    ②添加、删除默认网关记录

    添加、删除默认网关记录时与添加、删除静态路由记录命令格式类似,指定网段时只需将”-net“指明的网段改成使用“defaul”即可。

    例如执行下面操作,删除默认网关192.168.10.2/24,再添加新的默认网关192.168.10.3/24。

    2、修改网络配置文件

    1)网络接口配置文件

    网络接口配置文件默认位于目录“/etc/sysconfig/network-scripts/"中,文件名格式为”ifcfg-XXX“,其中”XXX“是网络接口名称。

    在网卡配置文件ens33中,可以看到设置静态IP地址的部分内容:

    其中部分配置项含义及作用为:

    • DEVICE:设置网络接口的名称。
    • ONBOOT:设置网络接口是否在Linux系统启动时激活。
    • BOOTPROTO:设置网络接口的配置方式,值为”static“时表示使用静态指定的IP地址,为”dhcp“时则表示通过DHCP的方式动态获取地址。
    • IDADDP/NETMASK/GATEWAY:网络接口的IP地址、子网掩码及默认网关位置。

    2)启用、禁用网络接口配置

    在CentOS7中,当修改了网络接口的配置文件后,若需要使新的配置生效,可以重启network服务或者重启主机。命令”systemctl restart network.service”重新启用所有的网络接口。

    如果只是禁用、启用某一个网络接口,可以使用命令fdown或ifup,以网络接口名称作为参数。

    3)主机名称配置文件

    CentOS7中,主机名称配置文件为/etc/hostname,命令hostnamectl可以用于修改此文件信息。

    例如执行“hostnamectl set-hostname fp"将主机名更改为”fp“。

    4)域名解析配置文件

    ①指定为本机提供DNS解析的服务器地址

    /etc/resolv.conf文件中记录了本地默认使用的DNS服务器的地址信息,对该文件所做的修改会立刻生效。

    Linux系统中最多可以指定三个(第三个以后将被忽略)不同的DNS服务器地址,优先使用第一个DNS服务器地址,例如执行下列操作可以指定默认使用的两个DNS服务器地址分别为114.114.114.114和8.8.8.8(也可以vim进入配置文件再输入)。

    ②本地主机映射文件

    /etc/hosts文件中记录着主机名与IP地址的映射关系,一般用来保存经常需要访问的主机的信息。当访问一个位置的域名时,先查找该文件中是否有相应的映射关系,如果没有再去向DNS服务器查询。

    例如在/etc/hosts文件中添加”10.10.10.10 www.abc.com“的映射记录,则当访问网站www.abc.com时,将会直接向IP地址10.10.10.10发送Web请求而省略向DNS服务器解析IP地址的过程。

    对于经常访问的网站,可以通过在/etc/hosts文件中添加正确的IP地址与域名映射记录,减少DNS查询过程,从而提升上网速度。

    三、小结

    • 使用ifconfig命令可以查看、配置网络接口的属性。
    • 使用route命令可以查看、管理主机的路由表记录。
    • 使用ping和traceroute命令可以测试主机的网络连接。
    • 配置文件ifcfg-ens33、hostname、hosts、resolv.conf等可以分别用于设置主机的IP地址、主机名、域名映射、DNS服务器地址等参数。
    展开全文
  • netcat又叫做瑞士军刀,是黑客和系统管理员常用网络工具,初开发的目的是文件传输,后来发展出很多强大的功能,比如也可以完成批量主机服务扫描。  之前介绍了另一个更常用的批量主机服务扫描工具:nmap。  ...
  • Linux网络服务之DNS服务

    千次阅读 2022-04-14 22:54:23
    目录前言一 、系统的作用类型1.1 DNS概念1.2DNS使用的协议端口号1.3DNS域名长度限制1.4DNS域名解析方式二、DNS的域名结构2.1域名体系结构2.2DNS服务器类型2.3两种查询方式2.3.1访问www.baidu.com的DNS解析过程三...

    前言

    DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互
    映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

    一 、系统的作用及类型

    1.1 DNS概念

    DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。
    说白了就是:在互联网中通过IP 地址来进行通信。但是IP 地址的表示形式是数字,很难进行记忆(比如116.213.120.232),所以为每个 IP取一个人类更易记忆的域名形式(比如www.google.com),而通过DNS 来把解析域名成为 IP(将方便人理解的命名格式解析成计算机能够理解的格式,也可以将IP 翻译成域名)

    全世界只有13台根域名服务器,一个主根服务器,12个辅根服务器

    1.2DNS使用的协议及端口号

    DNS的默认端口为53, DNS服务使用TCP和UDP的53端口,TCP的53端口用于连接DNS服务器,UDP的53端口用于解析DNS。

    TCP是用来做区域传送,多用于主从同步
    在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。

    UDP是用来做DNS解析的域名
    通常由一个完全合格域名(FQDN)标识。FQDN全称 Fully Qualified Domain Name,它能准确表示出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用"."分隔,对于DNS域google来说,其完全正式域名(FQDN)为google.com。(主机名+域名)

    1.3DNS域名长度限制

    每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符

    1.4DNS域名解析方式

    正向解析根据域名查找对应的IP地址
    反向解析根据IP地址查找对应的域名

    二、DNS的域名结构

    域名与IP地址之间是多对一的关系,一个IP地址不一定只对应一个域名,且一个域名只可以对应一个IP地址

    2.1域名体系结构

    在这里插入图片描述

    根域位于树状结构最顶层,用"."表示
    顶级域一般代表一种类型的组织机构或国家地区;如.net(网络供应商)、.com(工商企业)、.org(团体组织)、.edu(教育机构)、.gov(政府部门)、.cn(中国国家域名)
    二级域用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家部门统一管理
    子域二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名
    主机主机位于域名空间最下层,就是一台具体的计算机
    在这里插入图片描述
    注意:最前面的一定是主机,最后一个点表示根域,通常是省略不写的,但实际上:www.baidu.com=www.baidu.com.

    114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用。

    8.8.8.8是谷歌公司提供的DNS,该地址全球通用,相对来说,更适合国外以及访问国外网站的用户。

    218.2.135.1是南京的DNS服务器地址

    2.2DNS服务器类型

    1、主域名服务器:负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件。
    2、从域名服务器:当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自于主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库。
    3、缓存域名服务器:只提供域名解析结果的缓存功能 目的在于提高查询速度和效率,但没有域名数据库。
    它从某个远程服务器取得每次域名服务器查询的结果,并将它放在高速缓存中,以后查询相同的信息时用它予以响应。缓存域名服务器不是权威性服务器,因为提供的所有信息都是间接信息。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源。
    4、转发域名服务器:负责所有非本地域名的本地查询。转发域名服务器接到查询请求后,在其缓存中查找,如找不到就将请求依次转发到指定的域名服务器,直到查找到结果为止,否则返回无法映射的结果。

    2.3两种查询方式

    递归查询
    递归查询是一种 DNS 服务器的查询模式,在该模式下 DNS 服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机,如果 DNS 服务器本地没有存储查询 DNS 信息,那么该服务器会询问其他服务器,并将返回的查询结果提交给客户机。
    就是客户机发送请求后自己只用等待结果即可,中间具体过程交给服务器实现。

    迭代查询
    DNS 服务器另外一种查询方式为迭代查询,当客户机发送查询请求时,DNS 服务器并不直接回复查询结果,而是告诉客户机另一台 DNS 服务器地址,客户机再向这台 DNS 服务器提交请求,依次循环直到返回查询的结果为止。
    客户机的请求需要自己挨个去查询才能得到结果,服务器没有结果时候只会给你提供其它服务器的地址,而不会帮你去请求查询,这与递归截然相反。

    在这里插入图片描述

    2.3.1访问www.baidu.com的DNS解析过程

    1、客户端需要解析www.baidu.com,客户端向本地DNS服务器发送解析请求

    2、本地DNS发现无法解析,转发给根域服务器

    3、根域服务器根据请求域名对应的顶级的com,返回com的服务器地址

    4、本地DNS服务器向com域dns服务器发出解析请求

    5、com域服务器返回qq.com域服务器的地址

    6、以此类推,本地DNS服务器向baidu.com域dns服务器发出解析请求,直到在baidu.com域dns服务器上面找到www.baidu.com所对应的IP地址

    7、baidu.com把查找到的域名对应IP地址信息返回给本地DNS服务器

    8、最终再由本地DNS服务器把结果返回给客户端计算机

    三、正向解析资源记录及配置实例

    3.1安装bind软件包

    yum -y install bind

    bind是linux系统下的一个DNS服务程序.bind-utils是bind软件提供的一组DNS工具包,里面有一些DNS相关的工具.主要有:dig,host,nslookup,nsupdate.使用这些工具可以进行域名解析和DNS调试工作.

    3.2配置正向解析

    rpm -qc bind #查询bind软件配置文件所在路径
    /etc/named.conf #主配置文件
    /etc/named/rfc1912.zones #区域配置文件
    /var/named/named.localhost #区域数据配置文件

    3.2.1修改主配置文件

    vim /etc/named.conf
    options {
    listen-on-v6 poet 53 { 192.168.184.10; }; #监听53端口,IP地址使用提供服务的本地IP,也可用any代表所有
    #listen-on-v6 port 53 { : :1; }; #ipv6行如不使用可以注释掉或者删除
    directory “/var/named”; #区域数据文件的默认存放位 置
    dump- file “/var/ named/data/cache_ dump . db”; #域名缓存数据库文件的位置
    statistics-file “/var/named/data/named stats.txt”; #状态统计文件的位置
    memstatistics-file “/var/named/data/named_ mem_ stats. txt”; #内存统计文件的位置
    allow-query
    { any; }; #允许使用本DNS解析服务的网段,也可用any代表所有
    zone “.” IN { #正向解析“. "根区域
    type hint; #类型为根区域
    file “named.ca”; #区域数据文件为named.ca,记录了13台根域服务器的域名和IP地址等信息
    };

    修改完成:wq保存并退出

    3.2.2修改区域配置文件,添加正向区域配置

    编写域名,在配置文件/etc/named.rfc1912.zones下
    vim /etc/named.rfc1912.zones #可在文件里有模版,可复制粘贴后修改
    zone “caso. com” IN { #正向解析"caso.com"区域
    type master; #类型为主区域
    file “caso. com. zone”; #指定区域数据文件为caso. com.
    allow-update { none; };
    };

    3.2.3备份指定区域数据配置文件,然后编辑指定区域数据配置文件

    cd /var/named/
    [root@localhost named]cp -p named.localhost caso.com.zone #保留源文件的权限和属主的属性复制
    vim /var/named/caso.com.zone
    $TTL 1D #设置缓存解析结果的有效时间
    @ IN SOA caso.com. admin.lic.com. (
    0; serial .
    1D; refresh
    1H; retry
    1W; expire
    3H ) ; minimum
    NS caso.com. #记录当前区域的DNS服务器的名称
    A 192.168.184.10 #记录主机IP地址
    IN MX 10 mail.caso.com. #MX为邮件交换记录,数字越大优先级越低
    www IN A 192.168.184.10 #记录正向解析www.benet.com对应的IP
    mail IN A 192.168.184.11
    ftp IN CNAME www #CNAME使用别名,ftp是www的别名
    * IN A 192.168.184.100 #泛域名解析,“*"代表任意主机名

    3.2.4启动服务,关闭防火墙

    systemctl start named
    systemctl stop firewalld
    setenforce 0
    tail -f /var/log/ messages #如果服务启动失败,可以查看日志文件来排查错误
    rndc-confgen -r /dev/urandom -a #如果服务启动卡住,可以执行此命令解决

    3.2.5在客户端的域名解析配置文件中添加DNS服务器地址

    vi /etc/resolv.conf #修改完后立即生效
    nameserver 192.168.184.10

    vi /etc/ sysconfig/network- scripts/ ifcfg-ens33 #修改完后需要重启网卡
    DNS1=192.168.80.10
    systemctl restart network

    3.2.6测试DNS解析

    host www.caso.com
    nslookup www.caso.com

    展开全文
  • 和磁盘设备类似,Linux用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个Linux为我们抽象出来的设备,既通用的Linux网络设备来完成。一个常见的情况是,系统里装有一个硬件网卡,Linux会...
  • 主机名、网络、bonding、yum等常用功能配置工具。后续会更新。
  • Linux服务篇之FTP服务及工具

    千次阅读 2022-03-16 21:56:23
    文章目录一、简介工作原理二、Linux部署FTP服务器三、各种软件 一、简介工作原理 FTP,File Transfer Protocol,文件传输协议。 FTP是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP...

    一、简介及工作原理

    FTP,File Transfer Protocol,文件传输协议。

    FTP是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

    其工作原理是基于C/S架构(client/server,客户端/服务器端),服务器端开启21端口进行监听,一旦有客户端发起FTP请求,就验证用户信息并进行连接。

    数据传输格式:二进制传输)(默认)、文本传输

    双通道协议:命令和数据连接

    两种模式:

    1. Standard (PORT方式,主动方式)
      FTP 客户端首先和服务器的TCP 21端口建立连接,用来发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。FTP server必须和客户端建立一个新的连接用来传送数据。
      在这里插入图片描述

    2. Passive (PASV,被动方式)
      建立控制通道和Standard模式类似,但建立连接后发送Pasv命令。服务器收到Pasv命令后,打开一个临时端口(端口号大于1023小于65535)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口传送数据。
      在这里插入图片描述

    二、Linux部署FTP服务器

    1.yum install -y vsftpd 和 yum install -y ftp(安装ftp服务及ftp命令)
    在这里插入图片描述
    当我们安装好vsftpd服务时,该服务会自动为我们创建一个名为ftp的程序用户,方便我们后边进行ftp连接。
    在这里插入图片描述

    2.修改配置文件(修改配置文件只是加固系统,可以不用修改
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.建立连接(在客户端要安装ftp工具)

    服务器端的vsftpd服务需要手动开启(切记,防火墙和selinux要关闭(systemctl stop firewalld && setenforce 0))
    在这里插入图片描述

    客户端安装ftp工具
    在这里插入图片描述

    客户端建立连接
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    三、各种软件

    1.Xlight FTP Server
    在这里插入图片描述
    该工具是在windows的系统下使用,搭建一台简易的ftp服务器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    右击选择localization,再选择language files,再选择language_cn.ini,切换成中文

    建立连接
    在这里插入图片描述
    在这里插入图片描述
    2.FileZilla(简单粗暴)

    在这里插入图片描述

    在这里插入图片描述
    只需要把文件从右边往左边一拖,OK;至于上传,需要更改ftp服务器的权限,这里不多讲,后续会有相关解释,望大家谅解。

    3.lrzsz命令
    在这里插入图片描述
    这是两条命令的集合

    rz:将windows系统的物理机文件上传至linux
    在这里插入图片描述
    sz:将Linux上的文件传输到windows物理机
    在这里插入图片描述

    其实还有好多的ftp工具,这里我只简单的介绍了这几种,大家有兴趣可以百度查询、下载更多的工具。如果发现有更好的,还望不吝赐教。至于工具的使用,我也只是简单的做了一些介绍,还有更多的功能需要我们自己去亲身探索,毕竟学无止境嘛。

    展开全文
  • Apache是世界排名第一的Web服务器根据sraft.co.uk所作的调查世界上百分之五十以上的Web服务器在使用Apache对于Linux用户来说也是最容易使用的Web服务器如果你仅仅是想要用Apache提供基本的Web页面服务那么你可能根本...
  • Linux网络 远程访问控制

    千次阅读 2022-05-01 01:29:24
    SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能;SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令;SSH 为建立在应用层和传输层基础上的...
  • Linux常用服务器配置总结】

    千次阅读 2022-04-07 11:18:01
    FTP服务 File Transfer Protocol 早期的三个应用级协议之一 基于C/S结构 双通道协议:数据和命令连接 数据传输格式:二进制(默认)和文本 两种模式:(服务器角度) 主动(PORT style):服务器主动连接 命令...
  • Linux常用网络状态测试命令

    千次阅读 2021-05-08 23:40:39
    Linux常用网络状态测试命令不同的操作系统所带的网络状态测试命令有的像同,有些相似。常用网络状态测试命令有:ipconfig、ping、nslookup、netstat、telnet等。1、ipconfig命令及其应用;当网络主机发生网络故障时...
  • 文章目录前言一、协议1.1 基本概念1.2 典型协议二、网络应用程序设计模式2.1 C/S模式2.2 B/S模式三、分层模型3.1 OSI 七层模型 一、协议 1.1 基本概念 从应用的角度出发,定义为数据传输和数据解释的规则; 常见...
  • linux网络排查

    千次阅读 2022-03-13 22:25:56
    1)ping 通过ICMP协议实现三层网络可达性测试...4)mtr linux平台上诊断网络状态的工具,继承了ping、traceroute、nslookup的功能,默认使用ICMP包测试两个节点之前的网络连接情况 5)ifconfig 查询接口地址、MAC地址、
  • 中标麒麟Linux服务器操作系统培训系列 中标麒麟Linux系统常用网络工具介绍 技术创新变革未来 本章目标 浏览网页 远程进入Linux 系统 在系统间传输文件 使用网络分析工具 Firefox 快速轻量功能丰富的网页浏览器 标签...
  • Linux:15种 服务器简介

    千次阅读 2021-04-16 17:01:57
    Linux服务器简介 在这本章里面提到相当多的服务器架设,这里先就几个常见的服务器介绍一番,提供大家先有个认知... Firewall (防火墙):Linux 上的防火墙主要是由 iptables 这个核心功能(或者可以称为机制)所设定达成
  • 服务器安全狗Linux版(SafeDog for Linux Server)是为Linux服务器开发的一款服务器管理软件,它集成了系统参数快速设置,系统运行状态直观展示,系统状态实时监控,常用服务、设备或软件的快速安装和配置等功能,帮助...
  • Linux 常用网络指令.doc

    2020-06-17 01:13:12
    Linux 常用网络指令 Linux网络功能相当的强悍一时之间我们也无法完全的介绍所有的网络指令这个章节主要的目的在介绍一些常见的网络指令而已 至于每个指令的详细用途将在后续服务器架设时依照指令的相关性来进行...
  • Windows上查看IP地址是ipconfig, Linux上是ifconfig,但是Linux上还有一个命令叫ip addr可以查看IP地址。 2、service network restart 重启网卡 3、wget命令 下载文件的工具 wget是Linux中的一个下载文件的...
  • Kali Linux常用服务配置教程安装配置DHCP服务在Kali Linux中,默认没有安装DHCP服务。下面将介绍安装并配置DHCP服务的方法。1.安装DHCP服务在Kali Linux中,用来提供DHCP服务的安装包名为isc-dhcp-server。所以,...
  • Linux下查看网络流量常用方法

    千次阅读 2021-05-20 23:04:20
    (1)使用ifconfig查看网络流量 RX是接收流量,TX是发送流量。 (2)使用watch more /proc/net/dev查看网卡流量,默认是以字节显示 watch使用命令: (3)iftop 下载地址:...
  • Linux虚拟服务器可用于基于两个或更多节点的集群构建可伸缩网络服务。 群集的主节点将服务请求重定向到将实际执行服务的服务器主机集合。 支持的功能包括两种协议(TCP和UDP),三种数据包转发方法(NAT,隧道和...
  • Linux服务器就是采用Linux系统的网络服务器,同时也有采用windows的服务器,作用是类似的。而Linux并不是一个特定的系统,而是使用Linux内核的系统, 现在发行版很多,Red hat是其中一个常用做服务器的发行版。 知识...
  • Linux网络问题排查

    千次阅读 2021-12-06 17:15:27
    Linux网络问题排查网络不通网络速度慢网络排查思路 网络不通 如果是网络不通,要定位具体的问题,一般是不断尝试排除不可能故障的地方,最终定位问题根源。一般需要查看 是否接入到链路 ethtool eth0 是否启用了相应...
  • Linux网络性能测试工具——Iperf

    千次阅读 2022-05-18 08:24:53
    文章目录1、Iperf环境准备1.1 Linux源码安装Iperf1.2 Arm交叉编译Iperf2、指令分析3、Iperf测试3.1 Linux平台3.2 ARM平台3.3 测试结果4、推荐网站: Iperf 是一个网络性能测试工具,可以测试最大TCP和UDP带宽性能,...
  • 如果有人问你Linux最强大的功能是什么,你大概会回答“是网络功能”。Lmux操作系统的优势之一就是网络功能了,这包含比较稳定的系统资源分配,以及较为安全的网络防护能力,所以许多人都喜欢用它来进行网络服务器的...
  • Linux: 查看网络流量

    千次阅读 2021-07-29 14:11:44
    本文介绍几个常用Linux查看网络流量命令,并简要介绍其用法。部分命令系统已经内置,某些命令则需要从软件仓库或者自行编译安装,本文以CentOS系统为例介绍软件安装方法。 查看总流量 ip ip命令来自iproute2...
  • Linux网络配置

    万次阅读 2022-04-11 17:04:46
    网络地址配置1.1网络地址查看--ifconfig1.2网络配置修改1.2路由表查看--route 一.网络地址配置 1.1网络地址查看–ifconfig 命令格式:ifconfig 或 ifconfig +网卡名 主要参数信息: 1.2网络配置修改 临时修改IP地址...
  • Linux企业应用现状(重要性,选择性看) 搭建 Linux 环境 Linux 环境的搭建方式 购买云服务器 进入正题 第一步 ​第二步 第三步 第四步 第五步 第六步(以后咋找)​ 敲黑板啦 作者新创立了一个《非...
  • Linux网络基础知识

    千次阅读 2022-04-27 21:56:09
    Linux网络基础知识 网络架构: 互联网的组成: 局域网特点和常用设备: 特点:距离短、延迟小、传输速度高、传输可靠 设备:HUB、交换机、路由器 广域网常用设备:Modem、路由器、广域网交换机、接入服务器 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 329,884
精华内容 131,953
热门标签
关键字:

常用网络服务及功能linux