第二章 Linux中常用网络命令

目录

设置网络参数的命令

手动/自动配置IP参数与启动/关闭网络接口

修改路由:route

DHCP客户端命令:dhclient

网络排错与查看命令

两台主机的通信测试:ping

两台主机各通信节点测试:traceroute

查看本机的网络连接与后台程序:netstat

检测主机名与IP的对应:host、nslookup

远程连接命令与即时通信软件

远程连接终端机:telnet

FTP连接软件:ftp、lftp

图形接口的即时通信软件Pidgin(gaim的延伸)

文字接口网页浏览

文字接口下载器:wget

数据包捕获功能

文字接口数据包捕获器:tcpdump

图形接口数据包捕获器:wireshark

任意启动TCP/UDP数据包的端口连接:nc、netcat


设置网络参数的命令

手动/自动配置IP参数与启动/关闭网络接口

查看网卡信息

查看所有活跃的网卡:ifconfig

查看所有的网卡信息:ifconfig -a

查看指定的网卡信息:ifconfig eth0

查看网卡在OSI的三层信息:ip addr show eth0

查看网卡在OSI的二层信息:ip link show eth0


配置网卡信息

配置网卡的IP地址信息:ifconfig eth0 1.1.1.1 netmask 255.255.255.0 up

注:通过ifconfig修改的地址信息只是临时生效,在服务重启或者系统重启之后就还原成默认的地址信息了

 

给网卡添加多个ip地址信息:ip addr add 192.168.30.101/24 dev eth0 lable eth0:1

                                                   ifconfig eth0:2 192.168.30.102 netmask 255.255.255.0 up

注:给一张网卡添加多个IP地址,lable表示起的别名;服务重启或者系统重启之后就恢复默认


禁用与启用网卡:ifconfig down/up,ifdown/up

禁用网卡:ifconfig eth0 down                

注:对应的启用是:ifconfig eth0 up

 

禁用网卡:ifdown ens33

注:对应的启用是 ifup ens33;

       ifconfig down/up,ifdown/up 都可以禁用启用一张网卡,区别就是当我们通过命令行为网卡配置ip的时候,ifconfig在禁用、启用网卡后不会恢复网卡的默认IP地址,而ifdownifup则会

 

在数据链路层上禁用与启用网卡:ip link set eth0 down / ip link set eth0 up


重命名网卡:编辑 /etc/udev/rules.d/70-persistent-ipoib.rules,  /etc/sysconfig/network-scripts/ifcfg-ens33 这两个文件中的name属性


修改路由:route

       在同一个局域网中,相同网段的两台主机是可以直接通信的。然而在两个不同的网段中,主机发送的数据包就必须要经过网关(getway);网关就相当于一个网段的出口(类似于一个房间的门口),在数据包传输的过程中相同网段的计算机可以直接通信,而不同网段中的两台计算机通信首先会将数据包发送给网关,然后网关再将数据包转发出去;每一个数据包都是被封装成以太网的帧格式转发的,在数据帧中存在着源IP地址、目标IP地址;源mac地址、目标mac地址等信息,网关也正是因为这些信息才能够保证数据包在转发的过程中不会发生错误;数据包转发路径的条目称为路由信息,转发数据包的设备称为路由器;而这些路由信息一般都是在路由器上进行设置的

查看路由信息:route –n       n表示禁止反向解析

给网卡配置网关:route add default gw 192.168.30.2

删除网关:route del default gw 192.168.30.2

给多张网卡配置网关:route add default gw 192.168.30.2 dev eth0

                                        route add default gw 192.168.30.3 dev eth1

注:给网卡配置网关的时候必须要保证网卡的IP地址和网关在同一个网段,否则系统会报错


DHCP客户端命令:dhclient

       前面的章节中介绍了可以通过手动为主机设置IP地址、子网掩码、默认网关、DNS等信息来让计算机连接互联网,除了手动设置还可以使用dhcp自动获取ip地址的方式让计算机连接互联网;动态主机配置协议是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码;

Linux中获取DHCP地址:dhcplient eth0 (类似于windows中的ipconfig renew)

注:该条命令执行的前提是需要局域网中存在DHCP服务器


网络排错与查看命令

两台主机的通信测试:ping

        Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用"ping"命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。该命令还可以加许多参数使用,具体是键入Ping按回车即可看到详细说明

测试两台主机的通信:ping 192.168.30.10

注:在Linux中默认是一直ping下去的,按Ctrl+C停止;如果要指定ping的数据包数量可以加上-c1


两台主机各通信节点测试:traceroute

      通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。linux系统中,我们称之为traceroute,在Windows中为tracert。 traceroute通过发送小的数据包到目的设备直到其返回,来测量其需要多长时间。一条路径上的每个设备traceroute要测3次。输出结果中包括每次测试的时间(ms)和设备的名称(如有的话)及其IP地址

查看数据包到主机的通信节点:traceroute 192.168.30.10


查看本机的网络连接与后台程序:netstat

      Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等;通过这个命令我们可以查看到正在与系统建立的TCP/UDP连接,活跃的端口信息等

查看本机的建立的网络连接:netstat –ntulp

注:n表示不做反向解析;t表示TCPu表示UDPl表示正在监听的端口;p表示端口对应的进程

 

查看指定端口的运行状态:netstat –ntulp | grep :22

 

查看网关:netstat –r

注:等同于route命令

总结:通过查看系统中建立的网络程序,以及开放的端口号来更好地维护系统的安全


检测主机名与IP的对应:host、nslookup

        DNS,即Domain Name System(域名系统)。在网络中计算机都是采用IP地址来相互通信的,但是IP地址不便于记忆;而人们更加倾向于使用具有代表意义的计算机名,即域名;比如www.baidu.com, www.taobao.com等。DNS所做的工作就是将域名和IP地址之间做出相互解析的一个域名解析系统;DNS协议运行在UDP协议之上,使用端口号53

       nslookup可以指定查询的类型,可以查到DNS记录的生存时间还可以指定使用哪个DNS服务器进行解释。在已安装TCP、IP协议的电脑上面均可以使用这个命令。主要用来诊断域名系统 (DNS) 基础结构的信息。Nslookup(name server lookup)( 域名查询):是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具.

查看主机名:hostname

 

查看DNS服务器信息:nslookup

注:或者直接使用命令nslookup server,能够解析的前提必须是存在DNS服务器

 

修改机器的DNS:server 1.1.1.1

注:退出即失效,永久生效需要修改/etc/resolv.conf


远程连接命令与即时通信软件

远程连接终端机:telnet

        Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制的方法,使用的是23端口

服务器端安装telnet服务:

mount /dev/cdrom/ /mnt

yum list telnet-server

yum install telnet-server –y

chkconfig telnet on

service xinetd restart

 

安装telnet客户端:yum install telnet –y

 

通过telnet远程连接服务器:telnet 192.168.30.250

注:默认是不可以用root用户登录的;

        由于telnet的通信方式是透明的,安全性较低;所以不推荐使用(Windows中通过控制台也可以连接Linux

        由于使用telnet连接的时候会涉及到防火墙的问题,后续章节说明;这里统一先将防火墙关闭:iptables -F


FTP连接软件:ftp、lftp

      FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件

服务器端安装FTP服务:yum install vsftpd –y

启动FTP服务:service vsftpd restart

 

客户机安装ftp客户端:yum install ftp

 

测试登录FTP:ftp 192.168.30.250

注:Windows的控制台也可以登录到Linux的FTP

       除了FTP客户端,还有lFTP。lftp 是一个功能强大的下载工具,它支持访问文件的协议: ftp, ftps, http, https, hftp, fish.(其中ftps和https需要在编译的时候包含openssl库)。llftp的界面非常像一个shell: 有命令补全,历史记录,允许多个后台任务执行等功能,使用起来非常方便。它还有书签、排队、镜像、断点续传、多进程下载等功能

安装lftp:yum install lftp –y

注:上面的这种登录方式没有指明登录的用户,默认是使用的是ftp或者anymouse登录;可以通过lftp 192.168.30.250 –u zhangsan指明登录的用户


图形接口的即时通信软件Pidgin(gaim的延伸)

       pidgin是一个可以在Windows、Linux、BSD和Unixes下运行的多协议即时通讯客户端,可以让你用你所有的即时通讯帐户中一次登录。pidgin在Windows系统用户中知道的不多,不过在Linux系统中可以说是鼎鼎大名。这款软件可以实现多种即时通讯软件之间的互联互通,对于国人来说,其中最重要的就是MSN和QQ的使用

安装Pidgin:yum install pidgin

打开:pidgin


文字接口网页浏览

如果说你的系统中没有安装图形化界面,没有Firefox;需要访问互联网怎么办?Linux有一款自带的文本互联网浏览器:links,可以浏览简单网页,及测试网络端口连通性

首先安装elinks:yum list elinks

                               yum install elinks –y

在字符界面下浏览网页:links www.baidu.com

注:图形化界面可以直接使用Firefox


文字接口下载器:wget

       wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用

从ftp上下载文件:wget ftp://192.168.30.250/hosts

注:在使用wget命令下载文件时必须指明需要下载文件的绝对路径;下载的文件默认会放在当前目录中,如果要指明下载的路径;可以写成 –P /opt/


数据包捕获功能

文字接口数据包捕获器:tcpdump

        TcpDump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的工具之一

捕获数据包:tcpdump –i eth0

注:i表示指明要抓取的网卡;如果不指明的话则抓取所有网卡的数据包

 

捕获单向的数据包:tcp –i eth0 src host 192.168.30.250 and dst host 192.168.30.10

注:src host表示源主机,dst host表示目标主机;如果要捕获一个网段的数据包,将host改为net

 

抓取指定两台通信主机指定端口的包:tcpdump –i eth0 host 192.168.30.250 and host 192.168.30.10 and dst port 21 -X

注:该命令为捕获两台主机之间目标端口为21的数据包;X表示以16进制的形式显示;由于ftp传输协议是不加密的,可以通过抓包获取到用户的密码信息


图形接口数据包捕获器:wireshark

      Wireshark是免费的网络协议检测程序,支持Unix,Windows。让您经由程序抓取运行的网站的相关资讯,包括每一封包流向及其内容、资讯可依操作系统语系看出,方便查看、监控TCP session动态等等

安装Wireshark:yum list wireshark\*

                              yum install wireshark-gnome –y


任意启动TCP/UDP数据包的端口连接:nc

         NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小精悍(1.84版本也不过25k,旧版本或缩减版甚至更小)、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接;可以扫描网络,还可以在两台机器之间传输文件

安装nc:yum install nc -y

扫描目标主机的端口:nc –v 192.168.30.250 –z 1-200

注:v表示显示详细信息,z表示指明扫描的端口

 

在两台机器上传输文件:

  1. 首先在服务器主机上创建一个文件:dd if=/dev/zero of=file bs-1M count=100
  2. 在客户机主机上临时开放一个端口:nc -i 10000
  3. 在服务器主机上将文件传给客户机:nc 192.168.30.10 10000 < file

原创文章,转载请注明出处

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旷野亮光

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值