ping:测试网络连通性。
[root@nginx ~]# ping baidu
PING baidu (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=128 time=41.1 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=128 time=47.7 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=3 ttl=128 time=41.7 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=4 ttl=128 time=41.8 ms
...
参数介绍
参数 | 作用 |
---|---|
-c | ping的个数 |
-t | TTL值 |
-s | ping包大小 |
-i | ping的间隔 |
traceroute:用于追踪数据包在网络上传输时的全部路径,它默认发送的数据包大小是40字节。
[root@nginx ~]# traceroute baidu
traceroute to baidu (220.181.38.148), 30 hops max, 60 byte packets1 gateway (192.168.229.2) 0.256 ms 0.232 ms 0.264 ms2 * * *3 * * *
...
tracepath:用来追踪并显示报文到达目的主机所经过的路由信息。
[root@nginx ~]# tracepath baidu1?: [LOCALHOST] pmtu 15001: gateway 0.351ms1: gateway 0.273ms2: no reply3: no reply
...
host:是常用的分析域名查询工具,可以用来测试域名系统工作是否正常。
用法格式:
host [option] domain [server]
-a:显示详细的DNS信息
[root@nginx ~]# host baidu
baidu has address 39.156.69.79
baidu has address 220.181.38.148
baidu mail is handled by 20 jpmx.baidu.
baidu mail is handled by 20 mx50.baidu.
baidu mail is handled by 10 mx.maillb.baidu.
baidu mail is handled by shifen.
baidu mail is handled by 20 mx1.baidu.
dig:是比nslookup和host更强大的DNS查询工具。
用法格式:
dig [options] domain [@server]
+trace —— 输出域名解析过程中详细的debug信息。
-t type —— 制定查询的DNS记录类型,例如A记录、CNAME记录以及NS记录等。
-x —— 从ip反解析域名。
+short —— 精简地输出dig结果。
[root@nginx ~]# dig baidu; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> baidu
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2903
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 5, ADDITIONAL: 6
...
nslookup
支持交互式和非交互式两种查询。当直接在命令提示符后输入nslookup命令时,就进入了nslookup的交互式操作。否则直接返回给用户解析结果。
[root@nginx ~]# nslookup
> baidu
Server: 60.191.244.5
Address: 60.191.244.5#53Non-authoritative answer:
Name: baidu
Address: 39.156.69.79
Name: baidu
Address: 220.181.38.148
> exit[root@nginx ~]# nslookup baidu
Server: 60.191.244.5
Address: 60.191.244.5#53Non-authoritative answer:
Name: baidu
Address: 220.181.38.148
Name: baidu
Address: 39.156.69.79
arp:显示和修改操作系统的ARP缓存表。这个程序已经被ip neigh替代。
参数介绍
-a<主机>:显示arp缓冲区的所有条目;-d<主机>:从arp缓冲区中删除指定主机的arp条目;-e:以Linux的显示风格显示arp缓冲区中的条目;-s<主机><MAC地址>:设置指定的主机的IP地址与MAC地址的静态映射;-n:以数字方式显示arp缓冲区中的条目;-v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息;
[root@nginx ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.229.141 ether 00:0c:29:47:0e:7d C ens33
192.168.229.1 ether 00:50:56:c0:00:08 C ens33
192.168.229.140 (incomplete) ens33
gateway ether 00:50:56:ee:ac:d2 C ens33
[root@nginx ~]# ip neigh
192.168.229.141 dev ens33 lladdr 00:0c:29:47:0e:7d STALE
192.168.229.1 dev ens33 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.229.140 dev ens33 FAILED
192.168.229.2 dev ens33 lladdr 00:50:56:ee:ac:d2 REACHABLE
netstat
一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。
参数介绍
-a或--all:显示所有连线中的Socket; -l或--listening:显示监控中的服务器的Socket; -n或--numeric:直接使用ip地址,而不通过域名服务器; -p或--programs:显示正在使用Socket的程序识别码和程序名称; -r或--route:显示Routing Table; -s或--statistice:显示网络工作信息统计表;-t或--tcp:显示TCP传输协议的连线状况; -u或--udp:显示UDP传输协议的连线状况; -v或--verbose:显示指令执行过程; -V或--version:显示版本信息;
常常配合grep命令使用
[root@nginx ~]# netstat -anput | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 5536/nginx: master
ss
用于显示socket状态。他可以显示PACKET sockets、TCP sockets、UDP sockets、DCCP sockets、RAW sockets、Unix domain sockets等统计。它比其他工具展示等多tcp和state信息。它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具。
用法解析
ss -l:显示本地打开的所有端口;ss -pl:显示每个进程具体打开的socket;ss -t -a:显示所有tcp socket;ss -u -a:显示所有的UDP Socekt;ss -o state established '( dport = :smtp or sport = :smtp )':显示所有已建立的SMTP连接;ss -o state established '( dport = :http or sport = :http )':显示所有已建立的HTTP连接;ss -x src /tmp/.X11-unix/*:找出所有连接X服务器的进程;ss -s:列出当前socket详细信息;
[root@nginx ~]# ss -lnt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 5 192.168.122.1:53 *:*
LISTEN 0 128 *:22 *:*
ss做地址筛选
ss src ADDRESS_PATTERN
src:表示来源;
ADDRESS_PATTERN:表示地址规则;
如下:
[root@nginx ~]# ss src 192.168.229.134
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.229.134:ssh 192.168.229.1:57393
ss src 120.33.31.1 #列出来自120.33.31.1的连接
#列出来自120.33.31.1,80端口的连接
ss src 120.33.31.1:http
ss src 120.33.31.1:80
ss做端口筛选
ss dport OP PORT
OP:是运算符
PORT:表示端口
dport:表示过滤目标端口、相反的有sport
运算符如下:
<= or le : 小于等于 >= or ge : 大于等于== or eq : 等于!= or ne : 不等于端口< or lt : 小于这个端口 > or gt : 大于端口
具体实例:
[root@nginx ~]# ss sport = :22
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.229.134:ssh 192.168.229.1:57393
ss sport = :http 也可以是 ss sport = :80
ss dport = :http
ss dport > :1024
ss sport > :1024
ss sport < :32000
ss sport eq :22
ss dport != :22
ss state connected sport = :http
ss ( sport = :http or sport = :https )
ss -o state fin-wait-1 ( sport = :http or sport = :https ) dst 192.168.1/24
iperf
一个TCP/IP和UDP/IP的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助测试网络性能,定位网络瓶颈。
TCP测试:
服务器命令:iperf -s -i 1客户端命令:iperf -c 192.168.5.187 -p 22 -i 1 -t 100
UDP测试:
服务器命令:iperf -s -i 1客户端命令:iperf -c 192.168.5.187 -p 22 -u -i 1 -t 100
[root@nginx ~]# iperf -s -i 1
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
...
[root@nginx ~]# iperf -c 192.168.229.139 -p 22 -i 1 -t 100
write failed: Connection reset by peer
------------------------------------------------------------
Client connecting to 192.168.229.139, TCP port 22
TCP window size: 187 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.229.134 port 58552 connected with 192.168.229.139 port 22
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 0.0 sec 356 KBytes 270 Mbits/sec
ifconfig
ifconfig ens33:查看ens33 ip信息;ifconfig ens33 192.168.1.10 netmask 255.255.255.0:临时设置IP信息;ifconfig ens33 downifconfig ens33 up[root@base2 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.229.134 netmask 255.255.255.0 broadcast 192.168.229.255inet6 fe80::9077:a3c0:9554:dd6 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:8d:d3:17 txqueuelen 1000 (Ethernet)RX packets 105 bytes 12003 (11.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 115 bytes 15536 (15.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifup、ifdown
[root@base2 ~]# ifdown ens33;ifup ens33
成功断开设备 "ens33"。
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
nmcli
RHEL7里面的网卡命名方式从eth0、1、2的方式变成了enoXXXXX的格式。
en代表的是enthernet(以太网),o代表的是onboard(内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性。和原先的命名方式对比,这种新的方式比较长,难以记忆,不过优点在于编号唯一,做系统迁移的时候不容易出错。
说明:RHEL 7.0默认安装后没有自动开启网络连接。
方法1、进入网络置配文件目录,修改网卡配置文件。
[root@base2 network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet" #网络接口类型:以太网;
PROXY_METHOD="none" #代理方式:关闭状态;
BROWSER_ONLY="no" #只是浏览器:否
BOOTPROTO="static" #启用静态IP地址("dhcp"启用动态获取IP;"bootp"bootp协议);
DEFROUTE="yes" #默认路由:是;
IPV4_FAILURE_FATAL="no" #是否开启IPV4致命错误检测:否;(没用到,不影响)
IPV6INIT="yes" #IPV6是否自动初始化:是;(没用到,不影响)
IPV6_AUTOCONF="yes" #IPV6是否自动配置:是;
IPV6_DEFROUTE="yes" #IPV6是否可以为默认路由:是;(没用到,不影响)
IPV6_FAILURE_FATAL="no" #是否开启IPV6致命错误检测:否;
IPV6_ADDR_GEN_MODE="stable-privacy" #IPV6地址生成模型:stable-privacy;[这只一种生成IPV6的策略]
NAME="ens33" #网卡物理设备名称;
UUID="937c20aa-9aeb-485d-9d31-e2b611cb939c" #通用唯一识别码(没事不要动它,否则你会后悔)
DEVICE="ens33" #网卡设备名称,必须和NAME值一样;
ONBOOT="yes" #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备;
IPADDR=192.168.1.60 #网卡对应的IP地址;
NETNASK=255.255.255.0 #子网24就是255.255.255.0;
GATEWAY=*.*.*.* #网关;
PREFIX=24 #设置子网掩码,此设置也可以用PREFIX=n(n为掩码位数);
DNS1=*.*.*.* #设置主DNS;
DNS2=*.*.*.* #设置备DNS;
[root@base2 ~]# service network restart #重启网络
查看ip信息
Ifconfig
[root@base2 ~]# ifconfig
ip addr show
[root@base2 ~]# ip addr show
ip addr show dev(网络设备名)
[root@base2 ~]# ip addr show ens33
ip addr=ip a:查看所有网卡信息。
[root@base2 ~]# ip addr
[root@base2 ~]# ip a
[root@base2 ~]# ip addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:8d:d3:17 brd ff:ff:ff:ff:ff:ffinet 192.168.1.60/24 brd 192.168.10.255 scope global noprefixroute ens33valid_lft forever preferred_lft foreverinet6 fe80::9077:a3c0:9554:dd6/64 scope link noprefixroutevalid_lft forever preferred_lft forever
1.接口状态:up;2.硬件:link/ether 00:0c:29:8d:d3:17 brd ff:ff:ff:ff:ff:ff;3.IPv4地址与子网:inet 192.168.1.60/24;4.广播地址,范围,设备名称:brd 192.168.10.255 scope global noprefixroute ens33;5.IPv6信息:inet6 fe80::9077:a3c0:9554:dd6/64 scope link noprefixroute;
ip命令显示关于网络性能的统计信息,接收(RX)发送(TX)数据包。
[root@base2 ~]# ip -s link show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000link/ether 00:0c:29:8d:d3:17 brd ff:ff:ff:ff:ff:ffRX: bytes packets errors dropped overrun mcast78718 866 0 0 0 0TX: bytes packets errors dropped carrier collsns79619 666 0 0 0 0
nmcli connection show查看网卡信息
[root@base2 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 937c20aa-9aeb-485d-9d31-e2b611cb939c ethernet ens33
virbr0 c50c5090-eee2-4bea-885e-4093a13a38d9 bridge virbr0
测试网络是否正常
[root@base2 ~]# ping baidu #测试网络是否正常;
[root@base2 ~]# traceroute baidu #显示出我们到达一个网络所经过的路由信息;
[root@base2 ~]# mtr baidu #显示出我们到达一个网络所经过的路由信息;
[root@base2 ~]# yum -y install traceroute
[root@base2 ~]# yum -y install mtr
mtr是Red Hat自带的工具,结合了"traceroute"和"ping"功能于一身的诊断工具。
[root@base2 ~]# mtr baiduMy traceroute [v0.85]
base2 (0.0.0.0) Mon Jun 15 10:35:56 2020
Keys: Help Display mode Restart statistics Order of fields quitPackets PingsHost Loss% Snt Last Avg Best Wrst StDev1. 192.168.1.60 0.0% 98 0.5 0.4 0.2 0.7 0.02. ???
第一列:显示的是IP地址和本机域名,这点和tracert很像;第二列:是显示的每个对应IP的丢包率;第三列:snt设置每秒发送数据包的数量,默认值10,可以通过参数-c来指定;第四列:显示的最近一次的返回时延;第五列:是平均值这个应该是发送ping包的平均时延;第六列:是最好或者说时延最短的;第七列:是最差或者说时延最常的;第八列:是标准偏差;
方法2:执行nmtui命令
使用nmtui命令会弹出一工具界面,然后可以对网络进行相关设置
[root@base2 ~]# nmtui
重启network服务。
方法3:通过nm-connection-editor来配置连接(注意:必须在图形界面下运行)
[root@base2 ~]# nm-connection-editor
配置好了,重启网络服务,执行ifconfig或ip addr发现已经获取了新的地址。一旦该连接建立成功,在/etc/sysconfig/networks-scripts下面就会自动创建同名的配置文件。
方法4:nmcli命令
nmcli是个很强大的命令,后面一大堆选项和对象可以配置。看看帮助文档,对象可以是综合信息,网络,信号和连接。
地址配置工具:nmcli
nmcli – command-line tool for controlling NetworkManager
命令语法:
nmcli[ OPTIONS ] OBJECT { COMMAND | help }
OBJECT和COMMAND可以用全称也可以用简称,最少可以只用一个字母,建议用头三个字母。OBJECT里面我们平时用的最多的就是connection和device,这里需要简单区分一下connection和device。
device叫网络接口,是物理设备;
device -show and manage network interfaces
nmcli device helpconnection是连接,偏重于逻辑设置;
connection -start, stop, and manage network connections
nmcli connection help
[root@base2 ~]# nmcli --help
Usage: nmcli [OPTIONS] OBJECT { COMMAND | help }OPTIONS-a, --ask ask for missing parameters-c, --colors auto|yes|no whether to use colors in output-e, --escape yes|no escape columns separators in values-f, --fields <field,...>|all|common specify fields to output-g, --get-values <field,...>|all|common shortcut for -m tabular -t -f-h, --help print this help-m, --mode tabular|multiline output mode-o, --overview overview mode-p, --pretty pretty output-s, --show-secrets allow displaying passwords-t, --terse terse output-v, --version show program version-w, --wait <seconds> set timeout waiting for finishing operationsOBJECTg[eneral] NetworkManager's general status and operationsn[etworking] overall networking controlr[adio] NetworkManager radio switchesc[onnection] NetworkManager's connectionsd[evice] devices managed by NetworkManagera[gent] NetworkManager secret agent or polkit agentm[onitor] monitor NetworkManager changes
多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。这样的好处是针对一个网络接口,我们可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应connection如何配置连接,还是先看看帮助,他后面可以跟show,up, down, add,modify, edit, delete, reload,
[root@base2 ~]# nmcli connection --help
Usage: nmcli connection { COMMAND | help }COMMAND := { show | up | down | add | modify | clone | edit | delete | monitor | reload | load | import | export }show [--active] [--order <order spec>]show [--active] [id | uuid | path | apath] <ID> ...up [[id | uuid | path] <ID>] [ifname <ifname>] [ap <BSSID>] [passwd-file <file with passwords>]down [id | uuid | path | apath] <ID> ...add COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]<setting>.<property> <value>)+]modify [--temporary] [id | uuid | path] <ID> ([+|-]<setting>.<property> <value>)+clone [--temporary] [id | uuid | path ] <ID> <new name>edit [id | uuid | path] <ID>edit [type <new_con_type>] [con-name <new_con_name>]delete [id | uuid | path] <ID>monitor [id | uuid | path] <ID> ...reloadload <filename> [ <filename>... ]import [--temporary] type <type> file <file to import>export [id | uuid | path] <ID> [<output file>]
看看device有哪些参数
[root@base2 ~]# nmcli device --help
Usage: nmcli device { COMMAND | help }COMMAND := { status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp }statusshow [<ifname>]set [ifname] <ifname> [autoconnect yes|no] [managed yes|no]connect <ifname>reapply <ifname>modify <ifname> ([+|-]<setting>.<property> <value>)+disconnect <ifname> ...delete <ifname> ...monitor <ifname> ...wifi [list [ifname <ifname>] [bssid <BSSID>] [--rescan yes|no|auto]]wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>][bssid <BSSID>] [name <name>] [private yes|no] [hidden yes|no]wifi hotspot [ifname <ifname>] [con-name <name>] [ssid <SSID>] [band a|bg] [channel <channel>] [password <password>]wifi rescan [ifname <ifname>] [[ssid <SSID to scan>] ...]lldp [list [ifname <ifname>]]
[root@base2 ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 937c20aa-9aeb-485d-9d31-e2b611cb939c ethernet ens33
virbr0 c50c5090-eee2-4bea-885e-4093a13a38d9 bridge virbr0
查看具体的设备信息可以通过nmcli connection show 设备名来查看
[root@base2 ~]# nmcli connection show ens33
connection.id: ens33
connection.uuid: 937c20aa-9aeb-485d-9d31-e2b611cb939c
connection.stable-id: --
pe: 802-3-ethernet
connection.interface-name: ens33
...
添加一个新连接,先先看看帮助
[root@base2 ~]# nmcli connection add --help
Usage: nmcli connection add { ARGUMENTS | help }ARGUMENTS := COMMON_OPTIONS TYPE_SPECIFIC_OPTIONS SLAVE_OPTIONS IP_OPTIONS [-- ([+|-]<setting>.<property> <value>)+]
...
例如:
nmcli connection add con-name test-con ipv4.addresses
“10.1.1.100/24” ipv4.gateway 10.1.1.1 ipv4.dns 202.106.0.20
hod manual connection.autoconnect yes type ethernet
ifname ens33
修改现有连接,可以先先看看帮助
[root@base2 ~]# nmcli connection modify --help
附:修改RHEL7的网卡名称
RHEL7安装完成之后,默认的网卡名称是ens33
输入如下命令,进入对应目录,往这个文件中添加“net.ifnames=0 biosdevname=0”内容,作用是禁用该可预测命名规则,如图:
[root@base2 ~]# vim /etc/sysconfig/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
接着执行下面的命令,效果如下:
[root@base2 ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
然后,重启系统后查看网卡名称
[root@base2 ~]# ifconfig
ethtool:查看网路接口设备本身的属性
ethtool 网卡接口名称
[root@base2 ~]# ethtool ens33
hostname:临时设置主机名
[root@base2 ~]# hostname nihao
[root@base2 ~]# bash
[root@nihao ~]# vim /etc/hostname
base
hostnamectl:永久设置主机名
[root@nihao ~]# hostnamectl set-hostname base2
[root@nihao ~]# bash
[root@base2 ~]# vim /etc/hostname
base2
rhel7不再使用/etc/sysconfig/network设置主机名,而是使用/etc/hostname文件,下面就介绍有关rhel7设置主机名的几种方法。
方法1
修改/etc/hostname文件设置主机名。
[root@base2 ~]# vim /etc/hostname
方法2
执行hostnamectl命令
使用hostnamectl命令,hostnamectl set-hostname name,再通过hostname或者hostnamectl status命令查看更改是否生效。
方法3
执行nmtui命令
使用nmtui命令会弹出一工具界面选择第三项"set system hostname"修改主机名
修改后选择"ok"退出nmtui工具。
执行systemctl restart systemd-hostnamed
执行hostname 或hostnamectl查看。
方法4
执行nmcli命令
nmcli general hostname查看主机名
nmcli general hostname my-server 设置主机名
执行systemctl restart systemd-hostnamed使修改生效
ip
Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。
设置和删除IP地址
[root@base2 ~]# ip addr add 192.168.17.30/24 dev eth0
[root@base2 ~]# ip addr del 192.168.17.30/24 dev eth0
列出路由表条目:
[root@base2 ~]# ip route show
[root@base2 ~]# ip route get 192.168.17.130
添加路由条目:
[root@base2 ~]# ip route add default via 192.168.17.3
[root@base2 ~]# ip route add 192.168.100.0/24 dev ens33
显示网络统计数据
[root@base2 ~]# ip -s link
[root@base2 ~]# ip -s link ls ens33
[root@base2 ~]# ip -s -s link ls ens33
ARP条目:
[root@base2 ~]# ip neigh
激活和停止网络接口:
[root@base2 ~]# ip link set eth0 down
[root@base2 ~]# ip link set eth0 up
iptraf
IP局域网监控工具,它可以实时地监视网卡流量,可以生成各种网络统计数据,包括TCP信息、UDP统计、ICMP和OSPF信息、以太网负载信息、节点统计、IP校验和错误和其它一些信息。
[root@base2 ~]# yum info iptraf-ng -y
[root@base2 ~]# iptraf-ng --help
-i iface #网络接口:立即在指定网络接口上开启IP流量监视,iface为all指监视所有的网络接口,iface指相应的interface;-g #立即开始生成网络接口的概要状态信息;-d iface #网络接口:在指定网络接口上立即开始监视明细的网络流量信息,iface指相应的interface;-s iface #网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息,iface指相应的interface;-z iface #网络接口:在指定网络接口上显示包计数,iface指相应的interface;-l iface #网络接口:在指定网络接口上立即开始监视局域网工作站信息,iface指相应的interface;-t timeout #时间:指定iptraf指令监视的时间,timeout指监视时间的minute数
tcpdump
tcpdump是一个用于截取网络分组,并输出分组内容的工具。
tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。
tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。
YUM安装即可:
[root@base2 ~]# yum install tcpdump -y
常用参数介绍:
-i 指定抓包网络接口-c 在收到指定的数量的分组后,tcpdump就会停止-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息-vv 输出详细的报文信息-w 直接将分组写入文件中,而不是不分析并打印出来-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的-A 数据包的内容以ASCII显示,通常用来捉取WWW的网页数据包资料。-X 可以列出十六进制(hex)以及ASCII的数据包内容,对于监听数据包内容很有用-n 不把网络地址转换成名字-nn 不进行端口名称的转换-r 从指定的文件中读取包(这些包一般通过-w选项产生)-S 将tcp的序列号以绝对值形式输出,而不是相对值-t 不在每一行中输出时间戳-tt 在每一行中输出非格式化的时间戳-ttt 输出本行和前面一行之间的时间差-tttt 在每一行中输出由date处理的默认格式的时间戳
tcpdump的表达式介绍
表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字:
第一种是关于类型的关键字
主要包括host,net,port,例如host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0指明202.0.0.0是一个网络地址,port23指明端口号是23。如果没有指定类型,缺省的类型是host。第二种是确定传输方向的关键字
主要包括src,dst,dst or src,dst and src,这些关键字指明了传输的方向。举例说明,src 210.27.48.2,指明ip包中源地址是210.27.48.2,dst net 202.0.0.0指明目的网络地址是202.0.0.0。如果没有指明方向关键字,则缺省是src or dst关键字。第三种是协议的关键字
主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI (分布式光纤数据接口网络)上的特定的网络协议,实际上它是”ether”的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。 其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。除了这三种类型的关键字之外,其他重要的关键字如下:gateway,broadcast,less,greater, 还有三种逻辑运算,取非运算是‘not ','! ‘,与运算是’and’,’&&';或运算是’or’,’||’; 这些关键字可以组合起来构成强大的组合条件来满足人们的需要。
举例说明:
想要截获所有210.27.48.1的主机收到的和发出的所有的数据包:
[root@base2 ~]# tcpdump host 210.27.48.1
想要截获主机210.27.48.1和主机210.27.48.2或210.27.48.3的通信,使用命令:(在命令行中使用括号时,一定要加斜杠)
[root@base2 ~]# tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3)
如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
[root@base2 ~]# tcpdump ip host 210.27.48.1 and ! 210.27.48.2
如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
[root@base2 ~]# tcpdump tcp port 23 host 210.27.48.1
对本机的udp 123端口进行监视123为ntp的服务端口
[root@base2 ~]# tcpdump udp port 123
系统将只对名为hostname的主机的通信数据包进行监视。主机名可以是本地主机,也可以是网络上的任何一台计算机。
下面的命令可以读取主机hostname发送的所有数据:
[root@base2 ~]# tcpdump -i eth0 src host hostname
下面的命令可以监视所有送到主机hostname的数据包:
[root@base2 ~]# tcpdump -i eth0 dst host hostname
还可以监视通过指定网关的数据包:
[root@base2 ~]# tcpdump -i eth0 gateway Gatewayname
如果想监视编址到指定端口的TCP或UDP数据包,那么执行以下命令:
[root@base2 ~]# tcpdump -i eth0 host hostname and port 80
将结果保存为wireshark识别的文件
[root@base2 ~]# tcpdump -i ens33 -nn port 22 and src host 192.168.5.189 -w
test.pacpng
过滤源主机192.168.0.1和目的端口不是telnet的报头,并导入到文件中:
[root@base2 ~]# tcpdump src host 192.168.0.1 and dst port not telnet -l >
nmap
网络探勘工具与安全/端口扫描器。
nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器。它可以适用于winodws、linux、mac等操作系统。Nmap是一款非常强大的实用工具,可用于:
检测活在网络上的主机(主机发现)检测主机上开放的端口(端口发现或枚举)检测到相应的端口(服务发现)的软件和版本检测操作系统,硬件地址,以及软件版本检测脆弱性的漏洞(Nmap的脚本)
使用实例:
使用主机名扫描:
[root@base2 ~]# nmap www.baidu
使用IP地址扫描:
[root@base2 ~]# nmap 192.168.1.100
使用-v选项,可以提供更详细的输出
[root@base2 ~]# nmap -v www.baidu
扫描多个主机
[root@base2 ~]# nmap -v www.baidu www.sina
[root@base2 ~]# nmap 192.168.0.101,102,103
[root@base2 ~]# nmap 192.168.5.*
从一个文件中输入要扫描的主机
[root@base2 ~]# nmap -
[root@cloud002 ~]#
192.168.5.190
192.168.5.191
192.168.5.192
扫描一个IP地址段
[root@base2 ~]# nmap 192.168.0.101-110
排除扫描的地址
[root@base2 ~]# nmap 192.168.0.* --exclude 192.168.0.100
探测操作系统、使用脚本扫描和路由追踪
[root@base2 ~]# nmap -A www.baidu
开启TCP ack扫描
[root@base2 ~]# nmap -sA www.baidu
UDP扫描
[root@base2 ~]# nmap -sU 192.168.1.1
开启TCP FIN扫描
[root@base2 ~]# nmap -sF 192.168.1.1
探测某个网络上的存活的主机
[root@base2 ~]# nmap -v -sn 192.168.5.0/24
扫描特定的端口
[root@base2 ~]# nmap -p 80,443 192.168.0.101
[root@base2 ~]# nmap -p 80-160 192.168.0.101
开启Linux主机路由功能:
1、改配置文件
[root@base2 ~]# vim /fnet.ipv4.ip_forward = 1 默认值为0
[root@base2 ~]# sysctl -p 令修改立刻生效
2、临时开启:
[root@base2 ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
查看命令
[root@base2 ~]# ip addr 查看地址信息
[root@base2 ~]# ip route 查看路由表
[root@base2 ~]# route -n 查看路由表
[root@base2 ~]# netstat -r 查看路由表
[root@base2 ~]# ip rule 查看路由策略
添加路由条目
[root@base2 ~]# route add -net 192.168.4.0/24 gw 192.168.1.254 添加具体路由条目,通过下一条
[root@base2 ~]# route add -net 192.168.3.0/24 dev eth0 添加具体路由条目,通过出接口
[root@base2 ~]# route add default gw 192.168.1.254 添加默认路由
[root@base2 ~]# route del -net 192.168.4.0/24 删除路由表
网卡配置文件目录:
/etc/sysconfig/network-scripts
第一块网卡配置文件:ifcfg-ens33
DEVICE=eth0 设备名
TYPE=Ethernet 设备类型
UUID=52a6bbc3-917c-4828-8ab5-45369ab90d4b 设备唯一标识符
ONBOOT=yes 是否随系统启动而启动
NM_CONTROLLED=yes 是否受NetworkManager服务管理
#BOOTPROTO=dhcp dhcp 自动获取地址
static 静态设置IP地址
none 静态设置IP地址
DEFROUTE=yes
IPADDR=192.168.1.3 设置IP地址
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.1.254 网关
DNS1=8.8.8.8 DNS服务器
NAME="System eth0"
PREFIX=24 设置网络前缀长度
HWADDR=00:0C:29:C1:5D:CF 设置MAC地址
设置以后要重启服务才能生效:
[root@base2 ~]# service network restart
设置DNS地址:
1、在网卡的配置文件中设置DNS1=8.8.8.82、编辑/f更改以后立马生效
[root@base2 ~]# vim /f
nameserver 202.106.0.20
本文发布于:2024-02-01 07:07:55,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170674247734777.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |