Linux学习之Linux常用命令29_Linux命令大全_Linux网络管理命令_ping命令_ifconfig命令
风哥针对大家学习Linux常用命令时,涉及到很多的Linux网络管理类命令大全,接下来风哥就重点为大家介绍这些Linux命令的作用及这些Linux命令的使用案例教程(Linux网络管理类(31-40):
1.Linux命令-Linux网络管理命令31:nmap命令
nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个 主机也没有问题。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然Nmap通常用于安全审核, 许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。
除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。
语法格式:nmap [参数]
常用参数:
--traceroute 扫描主机端口并跟踪路由
-p 扫描指定端口和端口范围
-sP 对目标主机进行ping扫描
-A 使用高级功能进行扫描
-PE 强制执行直接的ICMPping
-sV 探测服务版本信息
-d 增加调试信息地输出
-PU 发送udp ping
-ps 发送同步(SYN)报文
Linux命令教程案例:
扫描主机并跟踪路由:
[root@fgedu.net ~]# nmap --traceroute www.fgedu.net
使用-p参数探测80、443端口:
[root@fgedu.net ~]# nmap -p80,443 www.fgedu.net
探测服务器的1-10000端口范围:
[root@fgedu.net ~]# nmap -p1-10000 www.fgedu.net
使用-A参数进行高级扫描:
[root@fgedu.net ~]# nmap -A www.fgedu.net
2.Linux命令-Linux网络管理命令32:telnet命令
执行telnet指令开启终端机阶段作业,并登入远端主机。 telnet命令可以帮助你从这台路由器远程登陆到远端开启了telnet服务的设备,包括路由器、交换机、linux服务器等,并且配置当前路由器的telnet服务。
语法格式: telnet [参数]
常用参数:
-8 允许使用8位字符资料,包括输入与输出
-a 尝试自动登入远端系统
-b 使用别名指定远端主机名称
-c 不读取用户专属目录里的.telnetrc文件
-d 启动排错模式
-e 设置脱离字符
-E 滤除脱离字符
-f 此参数的效果和指定”-F”参数相同
-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机
-k 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名
-K 不自动登入远端主机
-l 指定要登入远端主机的用户名称
-L 允许输出8位字符资料
-n 指定文件记录相关信息
-r 使用类似rlogin指令的用户界面
-S 设置telnet连线所需的IP TOS信息
-x 假设主机有支持数据加密的功能,就使用它
-X 关闭指定的认证形态
Linux命令教程案例:
登录远程主机:
[root@fgedu.net ~]# telnet 192.168.1.51
连接本地主机,端口号为23:
[root@fgedu.net ~]# telnet localhost 23
3.Linux命令-Linux网络管理命令33:netstat命令
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。
从整体上看,netstat的输出结果可以分为两个部分:一个是Active Internet connections,称为有源TCP连接,其中”Recv-Q”和”Send-Q”指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到;另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
语法格式:netstat [参数]
常用参数:
-a 显示所有连线中的Socket
-p 显示正在使用Socket的程序识别码和程序名称
-u 显示UDP传输协议的连线状况
-i
显示网络界面信息表单
-n 直接使用IP地址,不通过域名服务器
Linux命令教程案例:
显示详细的网络状况:
[root@fgedu.net ~]# netstat -a
显示当前户籍UDP连接状况:
[root@fgedu.net ~]# netstat -nu
显示UDP端口号的使用情况:
[root@fgedu.net ~]# netstat -apu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:bootpc 0.0.0.0:* 4000/dhclient
udp 0 0 localhost:323 0.0.0.0:* 3725/chronyd
udp6 0 0 localhost:323 [::]:* 3725/chronyd
显示网卡列表:
[root@fgedu.net ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0 1500 0 181864 0 0 0 141278 0 0 0 BMRU
lo 16436 0 3362 0 0 0 3362 0 0 0 LRU
显示组播组的关系:
[root@fgedu.net ~]# netstat -g
IPv6/IPv4 Group Memberships Interface
RefCnt Group
--------------- ------ ---------------------
lo 1 ALL-SYSTEMS.MCAST.NET
eth0 1 ALL-SYSTEMS.MCAST.NET lo 1 ff02::1
eth0 1 ff02::1:ff0a:b0c eth0 1 ff02::1
4.Linux命令-Linux网络管理命令34:ifconfig命令
ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在。要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了。
语法格式:ifconfig [参数]
常用参数:
add<地址> 设置网络设备IPv6的IP地址
del<地址> 删除网络设备IPv6的IP地址
down 关闭指定的网络设备
up 启动指定的网络设备
IP地址 指定网络设备的IP地址
Linux命令教程案例:
显示网络设备信息:
[root@fgedu.net ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe50::2c0:56ff:fe0a:b0c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87122880 (83.0 MiB) TX bytes:41522123 (39.6 MiB)
Interrupt:185 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2459063 (2.3 MiB)
TX bytes:2459063 (2.3 MiB)
启动关闭指定网卡:
[root@fgedu.net ~]# ifconfig eth0 down
[root@fgedu.net ~]# ifconfig eth0 up
为网卡配置和删除IPv6地址:
[root@fgedu.net ~]# ifconfig eth0 add 33cce:3240:300:1002::2/64
[root@fgedu.net ~]# ifconfig eth0 del 33cce:3240:300:1002::2/64
用ifconfig修改MAC地址:
[root@fgedu.net ~]# ifconfig eth0 down
[root@fgedu.net ~]# ifconfig eth0 hw ether 00:AA:BB:CC:CC:GG
[root@fgedu.net ~]# ifconfig eth0 up
[root@fgedu.net ~]# ifconfig eth1 hw ether 00:1D:1C:1F:1G
[root@fgedu.net ~]# ifconfig eth1 up
配置IP地址:
[root@fgedu.net ~]# ifconfig eth0 192.168.1.52
[root@fgedu.net ~]# ifconfig eth0 192.168.1.52 netmask 255.255.255.0
[root@fgedu.net ~]# ifconfig eth0 192.168.1.52 netmask 255.255.255.0 broadcast 192.168.1.255
5.Linux命令-Linux网络管理命令35:arp命令
arp命令的英文全拼“Address Resolution Protocol” 。该命令用于操作主机的arp缓存,它可以显示arp缓存中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系。
语法格式: arp [参数] [IP]
常用参数:
-a 显示arp缓存的所有条目,主机位可选参数
-H 指定arp指令使用的地址类型
-d 从arp缓存中删除指定主机的arp条目
-D 使用指定接口的硬件地址
-e 以linux的显示风格显示arp缓存中的条目
-i 指定要操作arp缓存的网络接口
-n 以数字方式显示arp缓存中的条目
-v 显示详细的arp缓存条目,包括缓存条目的统计信息
-f 设置主机的IP地址与MAC地址的静态映射
Linux命令教程案例:
显示本机arp缓存中所有记录:
[root@fgedu.net ~]# arp
Address HWtype HWaddress Flags Mask Iface
gateway ether 00:32:0C:22:3F:1C C ens160
以数字方式显示指定主机arp缓存条目:
[root@fgedu.net ~]# arp -n 192.168.1.1
Address HWtype HWaddress Flags Mask Iface
192.168.1.1 ether 00:32:0C:22:3F:1C C ens160
删除接口eth1上的192.168.1.1的arp表中的项:
[root@fgedu.net ~]# arp -i eth1 -d 192.168.1.1
使用eth1的MAC地址回答eth0上的192.168.1.2的arp请求:
[root@fgedu.net ~]# arp -i eth0 -Ds 192.168.1.2 eth1 pub
6.Linux命令-Linux网络管理命令36:nslookup命令
nslookup命令的英文全称为 “query Internet name server interactively ”。nslookup命令主要用来查询域名的DNS信息。在使用nslookup之前,先确保已经安装了它,nslookup属于bind-utils包下一个命令 。
nslookup有两种工作模式:“交互模式”和“非交互模式”。在命令行中直接输入nslookup,无需输入任何参数即进入交互模式,由“>”提示。
语法格式:nslookup [参数] [域名]
常用参数:
-sil 不显示任何警告信息
exit 退出命令
server 指定解析域名的服务器地址
set type=soa 设置查询域名授权起始信息
set type=a 设置查询域名A记录
set type=mx 设置查询域名邮件交换记录
Linux命令教程案例::
在非交互模式下查询域名基本信息:
[root@fgedu.net ~]# nslookup fgedu.net
Server: 180.180.180.180
Address: 180.180.180.180#53
Non-authoritative answer:
Name: fgedu.net
Address: 222.220.221.2
Name: fgedu.net
Address: 6002:340:0:76::2
进入交互模式下查询域名信息:
[root@fgedu.net ~]# nslookup
>fgedu.net
Server: 180.180.180.180
Address: 180.180.180.180#53
Non-authoritative answer:
Name: fgedu.net
Address: 222.220.221.2
Name: fgedu.net
Address: 6002:340:0:76::2
>
在交互模式下使用“set”选项设置域名查询类型进行查询:
[root@fgedu.net ~]# nslookup
>set type=mx
>fgedu.net
Server: 180.180.180.180
Address: 180.180.180.180#53
Non-authoritative answer:
fgedu.net mail exchanger = 1 fgedu.net.
Authoritative answers can be found from:
fgedu.net internet address = 222.220.221.2
fgedu.net has AAAA address 6002:340:0:76::2
7.Linux命令-Linux网络管理命令37:host命令
host命令是一个用于执行DNS查找的简单实用程序。它通常用于将名称转换为IP地址,反之亦然。 如果没有给出参数或选项,host将打印其命令行参数和选项的简短摘要。
语法格式: host [参数]
常用参数:
-a 显示详细的DNS信息
-c 指定查询类型,默认值为“IN”
-C 查询指定主机的完整的SOA记录
-r 不使用递归的查询方式查询域名
-t 指定查询的域名信息类型
-v 显示指令执行的详细信息
-w 如果域名服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W 指定域名查询的最长时间,如果在指定时间内域名服务器没有给出应答信息则退出
-4 使用IPv4查询传输 (默认)
-6 使用IPv6查询传输
Linux命令教程案例:
查询域名对应的IP地址:
[root@fgedu.net ~]# host fgedu.net
显示执行域名查询的详细信息:
[root@fgedu.net ~]# host -v fgedu.net
查询域名的MX信息:
[root@fgedu.net ~]# host -t MX fgedu.net
8.Linux命令-Linux网络管理命令38:arping命令
arping命令作用是使用arp数据包,通过ping命令检查来测试网络。arping命令能够测试一个ip地址是否是在网络上已经被使用,并能够获取更多设备信息。功能类似于ping。
由于arping命令基于ARP广播机制,所以arping命令只能测试同一网段或子网的网络主机的连通性,ping命令则是基于ICMP协议,是可以路由的,所以使用ping命令可以测试任意网段的主机网络连通性。
语法格式:arping [参数]
常用参数:
-A 更新邻近主机的ARP缓存(
使用ARP应答数据包代替ARP请求数据包)
-b 仅发送MAC级广播
-c 发送指定个数ARP请求数据包后停止
-D 重复地址检测模式(DAD)
-f 在第一个回复确认目标存活后退出命令
-h 打印帮助手册并退出
-I 指定ARP请求报文的网络接口
-q 安静模式。不显示任何信息
-s 指定发送ARP请求数据包的源IP地址
-U 更新邻近主机的ARP缓存
Linux命令教程案例:
测试目标主机的存活状态:
[root@fgedu.net ~]# arping -f 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.138 ens33
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.995ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
向目标主机发送3次(指定次数)ARP请求报文:
[root@fgedu.net ~]# arping -c 3 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.138 ens33
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.813ms
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.850ms
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.816ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)
使用指定网口发送指定次数ARP请求报文后自动退出命令:
[root@fgedu.net ~]# arping -I ens33 -c 2 192.168.1.1
ARPING 192.168.1.1 from 192.168.1.138 ens33
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.861ms
Unicast reply from 192.168.1.1 [00:32:0C:22:3F:1C] 1.921ms
Sent 2 probes (1 broadcast(s))
Received 2 response(s)
9.Linux命令-Linux网络管理命令39:route命令
route命令用来显示并设置linux内核中的网络路由表,route命令设置的路由主要是静态路由。要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在linux系统中设置路由通常是为了解决以下问题:该linux系统在一个局域网中,局域网中有一个网关,能够让主机访问Internet,那么就需要将这台机器的ip地址设置为linux机器的默认路由。
要注意的是:直接在命令行下执行route命令来添加路由,不会永久保存。当网卡重启或者机器重启之后,该路由就失效了。可以在/etc/rc.local中添加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 路由记录所表示的网络接口
Linux命令教程案例:
显示当前路由:
[root@fgedu.net ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default _gateway 0.0.0.0 UG 100 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
添加一条路由记录:
[root@fgedu.net ~]# route add -net 192.168.1.51 netmask 192.168.1.1 dev ens33
删除路由记录:
[root@fgedu.net ~]# route del -net 192.168.1.51 netmask 192.168.1.1 dev ens33
添加和删除默认网关:
[root@fgedu.net ~]# route add default gw 192.168.1.1
[root@fgedu.net ~]# route del default gw 192.168.1.1
10.Linux命令-Linux网络管理命令40:ping命令
ping命令主要用来测试主机之间网络的连通性,也可以用于。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
不过值得我们注意的是:Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。
语法格式:ping [参数] [目标主机]
常用参数:
-d 使用Socket的SO_DEBUG功能
-c 指定发送报文的次数
-i 指定收发信息的间隔时间
-I 使用指定的网络接口送出数据包
-l 设置在送出要求信息之前,先行发出的数据包
-n 只输出数值
-p 设置填满数据包的范本样式
-q 不显示指令执行过程
-R 记录路由过程
-s 设置数据包的大小
-t 设置存活数值TTL的大小
-v 详细显示指令的执行过程
Linux命令教程案例:
检测与fgedu网站的连通性:
[root@fgedu.net ~]# ping www.fgedu.net
连续ping4次:
[root@fgedu.net ~]# ping -c 4 www.fgedu.net
设置次数为4,时间间隔为3秒:
[root@fgedu.net ~]# ping -c 4 -i 3 www.fgedu.net
利用ping命令获取指定网站的IP地址:
[root@fgedu.net ~]# ping -c 1 fgedu.net| grep from | cut -d " " -f 4
192.168.1.51