位置: 编程技术 - 正文
推荐整理分享linux网络相关命令汇总(6)(linux常用的网络命令),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux网络管理命令,linux关于网络的命令,linux关于网络的命令,linux网络类型,linux网络命令详解,linux关于网络的命令,linux关于网络的命令,linux的网络命令大全,内容如对您有帮助,希望把文章链接给更多的朋友!
本文将讲述网络相关命令,作者假定读者具备TCP/IP协议栈的基础知识。对于相关命令及其输出只介绍它的基本的使用方法和大概的描述,具体协议将不作详细解释。
如今网络无疑是很重要的,linux系统中提供了丰富的网络测试与管理命令。我们来一起看看它们。
内容如下:
1、ping 发送TCMP回显请求报文,并等待返回TCMP回显应答。
ping [OPTIONS]... destination
这里的目标destination可以是目的IP地址或者域名/主机名选项-c指定发送请求报文的次数,当ping没有任何选项时,在linux中默认将一直发送请求报文直到手动终止。
首先,ping程序会向域名服务器(DNS)发送请求,解析域名www.baidu.com的IP地址。DNS返回域名的一个别名www.a.shifen.com以及对应的IP地址...。之后ping程序开始向这个地址发送请求报文,每1s发送一个,ping收到TCMP回显应答并将结果显示在终端上,包括ICMP序列号(icmp_seq),生存时间(ttl)和数据包往返时间(time)。最后,给出汇总信息,包括报文总收发情况,总时间,往返时间最小值、平均值、最大值、平均偏差(越大说明网络越不稳定)。
当目的域名无法解析出IP地址时,会报未知主机的错
当目的IP地址没有路由时不会收到任何ICMP回显报文
当有目的IP的路由但无法达到时显示目标不可达错误(Destination Host Unreachable)。ICMP回显应答还包括超时(request time out)等其他类型。
2、hostname显示或设置系统主机名
hostname [OPTIONS]... [NAME]
直接执行命令hostname时将显示主机名:
这个主机名是系统的gethostname(2)函数返回的。可以通过执行命令hostname NAME来临时改变主机名:
这个临时修改实际上是修改了linux kernel中一个同为hostname的内核参数,它保存在/proc/sys/kernel/hostname中。如果需要永久修改则需要修改配置文件/etc/sysconfig/network,centos7中需要修改/etc/hostname。需要注意的是,如果配置文件中的主机名是localhost或localhost.localdomain时,系统会取得网络接口的IP地址,并用这个地址找出/etc/hosts文件中对应的主机名,然后将其设置成最终的hostname。
3、host DNS查询
host name
host命令通过配置文件/etc/resolv.conf中指定的DNS服务器查询name的IP地址:
4、dig DNS
dig和host命令的语法一致,但提供了更详细的信息和更多的选项:
如只查询域名的A记录并以短格式显示:
或者:
还可以用@server的方式指定DNS服务器:
更多的命令及选项请自行man
5、traceroute或tracepath 路由跟踪
这里只列出部分输出,表示跟踪到目的地址的路由,每一跳都返回。
6、ifconfig 配置网络接口
当命令没有任何参数时显示所有网络接口的信息:
本例中显示了两个网卡ens和ens以及环回口lo的信息,包括mtu,ip地址,掩码,mac地址,传输和接收数据量等等。选项-s显示精简的信息:
如给ens增加一个新地址.0.1.4:
命令中/表明接口地址的掩码,up表示启用此接口。注意如果ip地址已经被使用,这里依然会被设置成功,但此地址被访问时,可能会有冲突。
停用某接口:[root@centos7 ~]# ifconfig ens:0 down
如果需要永久增加或修改当前接口的地址,最好直接编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens(其他系统换成相应文件)中IPADDR字段,然后重启网络systemctl restart network或service network restart生效。
7、arp和arping
命令arp显示系统的arp缓存,命令arping给邻居主机发送ARP请求。
表示未知域名,最后的网卡名表示arp表项对应的网络接口如发现某地址不稳定,可以使用arping测试该地址是否为MAC地址冲突:
这里两条返回信息中的MAC地址不同,说明有两块网卡配置了相同的IP地址。选项-I指定发送arp请求的网络接口。如果刚刚更改了网卡的IP地址,但上游设备(如交换机)的arp表项还是老的,可以使用arping来强制刷新:
-c指定发送arp请求次数,-s指定源地址,最后的IP表示发送目标(这里是网关地址)。
8、route 显示或更改路由表
其中Destination表示目的网段或目标主机;Gateway表示网关地址;Genmask表示目的网段的掩码;Flags表示路由标志:U表示路由是启用(up)的、G表示网关;Metric表示目标距离,通常用跳数表示;Ref表示路由的引用数;Use表示路由查找计数;Iface表示此条路由的出口。
选项-n表示用数字形式显示目的网段选项add和del表示添加或删除一条路由。选项-net和netmask表示指定目的网段及掩码。选项gw表示指定网关。选项dev IF表示指定出口网卡
如增加一条到...x的路由,使它的出口为ens:
route add -net ...0 netmask ...0 dev ens
如增加一条默认路由,指明它的网关为.0.1.1
route add default gw .0.1.1
如增加一条到...0的路由,网关为.0.1.2
route add -net ...0/ gw .0.1.2
如删除默认路由
route del default
9、telnet 提供远程登录功能
由于telnet协议使用明文传输,在要求安全登录的环境中并不适用。现在通常用它来进行网络服务的端口测试:
这里对方的端口是开启并允许通信的。当对端端口没有开启时:
当对端拒绝连接时:
、ssh 远程登录程序
ssh [OPTIONS]... [user@]hostname [command]
ssh的全称是Secure Shell,在不安全的网络主机间提供安全加密的通信,旨在代替其他远程登录协议。
当命令ssh后直接跟主机IP时表示使用默认用户root登录,如果是首次登录,需要确认添加该主机的认证key,当输入yes后,即会在本机/root/.ssh/known_hosts中增加一条该主机的记录,下一次登录时就不用再次确认了。然后需要输入用户密码,通过验证之后,我们就获得了目的主机的一个shell,我们就可以在这个shell中执行命令了。在新shell中输入exit即可退回到原shell。如果需要频繁登录某主机,但不想每次都输入密码,可以设置免密码登录:
其中命令ssh-keygen用来生成公钥私钥,选项-t指明密钥类型。之后使用命令ssh-copy-id将公钥发送至目标主机,这里需要输入目标主机用户密码。然后就可以免密码登录了:
还可以通过ssh远程执行命令:
或者手动将公钥拷贝至目标主机:
选项-p为登录指定端口:
端口设置在服务端配置文件/etc/ssh/sshd_config中,默认端口号为,如更改需将#Port 去掉注释并将更改为需要的端口,然后重启sshd服务service sshd restart或systemctl restart sshd。如果需要使用另外的用户登录系统则执行ssh user@host我们可以用tar命令结合ssh和管道,将本地(远程)文件备份到远程(本地):
选项-L [bind_address:]port:host:hostport设置本地端口转发
此命令的意思是绑定本地端口,并将所有发送至此端口的数据通过中间主机.0.1.转发至目标主机.0.1.的端口,此时如果用ssh登录本机的端口,则实际登录的是主机.0.1.
这里默认绑定的是本机的环回口.0.0.1,如绑定到其他地址,则根据语法设置bind_address。选项-N表示不执行命令,只设置端口转发时有用由于上述端口转发命令ssh -L :.0.1.: .0.1.会登录到中间主机,并且退出后端口转发也会终止,使用-N选项将不会登录,再配合shell后台执行,将会是一个不错的设置端口转发的选择(但要注意对中间主机需要免密码登录):
命令最后的符号&表示此命令将在后台执行,返回的信息中[1]表示后台命令编号,表示命令的PID。(关于shell后台命令,以后的文章中会有叙述)选项-R [bind_address:]port:host:hostport 设置远程端口转发如我们在.0.1.上执行:
ssh -R :.0.1.: .0.1.
然后在.0.1.上登录:
这里的意思是使远程主机.0.1.(相对.0.1.来说)监听端口,然后将所有发送至此端口的数据转发至目标主机.0.1.的端口。之后再在.0.1.登录本地(localhost)的端口时,实际通过中间主机.0.1.登录目标主机.0.1.。选项-o OPTION指定配置文件(如/etc/ssh/sshd_config)内选项如避免第一次登录时输入yes确认,可增加-o StrictHostKeyChecking=no。
、scp 远程复制文件
scp [OPTIONS]... [[user@]host1:]file1 ... [[user@]host2:]file2scp命令通过ssh协议将数据加密传输,和ssh登录类似,需要输入远程主机用户密码。如将远程主机.0.1.中文件/root/tcp.sh复制到本地当前目录下:
命令会显示传输状态(传输百分比,大小,速度,用时)。将本地文件复制到远程无非是将源和目的调换位置。选项-P指定远端连接端口(ssh服务端口),-o ssh_option使用ssh选项。选项-l limit传输限速,limit单位为Kbit/s。和命令cp类似,选项-r表示复制目录,-p表示保留文件权限时间等
、netstat 打印网络信息
选项-a显示所有端口信息:
这里只显示部分信息选项-t显示TCP连接信息选项-n显示IP地址而不进行域名转换选项-p显示PID和程序名
其中Proto表示协议(包括TCP、UDP等);Recv-Q和Send-Q表示接收和发送队列,一般都为0,如果非0则表示本地的接收或发送缓存区有数据等待处理;Local Address和Foreign Address分别表示本地地址和远端地址;State表示连接状态,对应于TCP各种连接状态;PID/Program name表示进程号和程序名。选项-l表示只显示状态为LISTEN的连接
选项-u表示显示UDP连接信息选项-r表示显示路由信息
选项-i显示接口信息
、tcpdump 网络抓包工具
命令tcpdump捕获某网络接口符合表达式expression的数据包,并打印出数据包内容的描述信息。选项-i指定网卡:
启动命令之后显示出可以使用-v或-vv显示更详细的信息,开始从ens捕获数据包。输出显示出各个发送或接收数据包包头信息(包括ARP、IP、TCP、UDP等等协议)。此命令并未指定expression,所以默认将捕获所有数据包。如果需要将数据包捕获然后通过其他程序(如wireshark)分析,可以使用选项-w file将数据写入文件,同时还需要使用选项-s 0指定能够捕获的数据包大小为字节,以避免数据包被截断而无法被分析。
真实环境中,流经网卡的数据包量是巨大的。可以使用表达式来对数据包进行过滤,对于每个数据包,都要经过表达式的过滤,只有表达式的值为true时,才会输出。
expression中可以包含一到多个关键字指定的条件,可以使用and(或&&)、or(或||)、not(或!)和括号()表示各个关键字间的逻辑关系,可以用>、<表示比较,还可以进行计算。其中关键字包括:type类型关键字,如host、net、port和portrange,分别表示主机、网段、端口号、端口段。direction方向关键字,如src、dst分别表示源和目的。proto协议关键字,如fddi、arp、ip、tcp、udp等分别表示各种网络协议。
由于篇幅所限,下面的例子中将只描述选项和表达式所起到的作用,不再解释输出内容:
网络相关命令内容较多,希望能够帮到你。
linux用户与文件基础命令介绍(1) linux系统是一个多用户多任务的分时操作系统,但系统并不能识别人,它通过账号来区别每个用户。每个linux系统在安装的过程中都要为root账号设置密码
Bash中数组的操作教程 前言BASH只支持一维数组,但参数个数没有限制。如声明一个数组:declare-aarray(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组)一
linux文本分析awk基础命令介绍(8) awk是一种模式扫描和处理语言,在对数据进行分析处理时,是十分强大的工具。awk[options]'pattern{action}'file...awk的工作过程是这样的:按行读取输入(标准
标签: linux常用的网络命令
本文链接地址:https://www.jiuchutong.com/biancheng/371510.html 转载请保留说明!友情链接: 武汉网站建设