LINUX : 一些常用的网络通讯命令


telnet
telnet命令用于远端登入。(由于安全性,现在常用ssh)
参数 说明
-a 尝试自动登入远端系统。
-l<用户名称> 指定要登入远端主机的用户名称。
-r 使用类似rlogin指令的用户界面。

比如说 登录IP为192.168.180.120 的主机

telnet 192.168.180.120    

nc: nc命令用于设置路由器。执行本指令可设置路由器的相关参数
NetCat,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本.短小精悍、功能实用,被设计为一个简单、可靠的网络工具,可通过TCP或UDP协议传输读写数据。同时,它还是一个网络应用Debug分析器,因为它可以根据需要创建各种不同类型的网络连接。
参数 说明
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-r 指定本地与远端主机的通信端口。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。\

常见使用方式:
1.远程拷贝文件

从server1拷贝文件到server2上。需要先在server2上,,用nc激活监听,
server2上运行: nc -l 1234 > text.txt     (服务端:将获得的输入写到text.txt文件中) 1234 相当于连接密码
server1上运行: nc 192.168.10.11 1234 < text.txt
注:server2上的监听要先打开  .   这样既将从serlver1 上的text.txt 文件写入至server2的text.txt上

2.端口扫描 (也可用netstat -plnt 来看本地TCP端口的情况)

可以执行:
nc -v -w 2 localhost -z 21-24    即可查询本地的21-24端口的情况

LINUX : 一些常用的网络通讯命令_第1张图片
3. 同样的用法,也可以聊天

    即一个当服务器开启,一个当客户端连接

httpd

httpd命令是Apache HTTP服务器程序。
在redhat 上 httpd 直接是Apache的命令,但在ubuntu 上 此命令是 apache2


ifconfig
设置网络设备的状态,或是显示目前的设置

语法:ifconfig [网络设备][参数][地址]

参数 作用
add<地址> 设置网络设备IPv6的IP地址。
del<地址> 删除网络设备IPv6的IP地址。
down 关闭指定的网络设备。
io_addr(I/O地址) 设置网络设备的I/O地址。
irq(IRQ地址) 设置网络设备的IRQ。
media<网络媒介类型> 设置网络设备的媒介类型。
mtu<字节> 设置网络设备的MTU。
netmask<子网掩码> 设置网络设备的子网掩码。
tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
up 启动指定的网络设备。
[IP地址] 指定网络设备的IP地址。
[网络设备] 指定网络设备的名称。
实例
显示网络设备信息

LINUX : 一些常用的网络通讯命令_第2张图片

ifconfig eth0 up //启动网卡 
ifconfig eth0 down //关闭网卡

netstat
netstat命令用于显示网络状态,用于查看不同的网络设置及数据。利用netstat指令可让你得知整个Linux系统的网络情况
参数 说明
-a或–all 显示所有连线中的Socket。
-c或–continuous 持续列出网络状态。
-e或–extend 显示网络其他相关信息。
-g或–groups 显示多重广播功能群组组员名单。
-h或–help 在线帮助。
-i或–interfaces 显示网络界面信息表单。
-l或–listening 显示监控中的服务器的Socket。
-n或–numeric 直接使用IP地址,而不通过域名服务器。
-o或–timers 显示计时器。
-p或–programs 显示正在使用Socket的程序识别码和程序名称。
-s或–statistice 显示网络工作信息统计表。
-t或–tcp 显示TCP传输协议的连线状况。
-u或–udp 显示UDP传输协议的连线状况。
-v或–verbose 显示指令执行过程。
-w或–raw 显示RAW传输协议的连线状况。
显示网卡列表:netstat -i

这里写图片描述

netstat -plnt     //显示监控中的TCP连接Socket 的IP地址    常用
netstat -ie     //检查网络中的接口信息

ping
用于机器与机器间通信测试.这是最基本的网络连接命令了。ping命令会向指定的网络主机发送特殊网络数据包 IMCP ECHO_REQUEST.
ping [参数] ip:
例如 ping www.baidu.com 查看本机和百度的网是不是通的

ssh
    (secure shell) 安全回话
     SSH(Secure Shell)是一种能够提供安全远程登陆会话的协议,假如希望在远程Linux系统中执行命令,就是通过这个协议。
     为什么要强调SSH协议是安全的呢?因为比如ftp、telnet等服务在网络上不会对口令或数据进行加密,那么骇客们真的非常容易就可以截获这些信息(尤其是同局域网内的用户),因此它们在本质是就是不安全的。
     ssh协议对应的是sshd服务。sshd服务提供两种安全验证的方法:
  1. 基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。

  2. 基于密钥的安全验证:需要在本地生成”密钥对”后将公钥传送至服务端,进行公共密钥的比较。

    而sshd服务的配置文件通常是 /etc/sshd/sshd_config 文件。
    

以下是配置文件中常用的配置:

参数 作用说明
Port 22 默认的sshd服务端口。
ListenAddress 0.0.0.0 设定sshd服务端监听的IP地址。
Protocol 2 SSH协议的版本号。
HostKey /etc/ssh/ssh_host_key SSH协议版本为1时,私钥存放的位置。
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置。
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置。
PermitRootLogin yes 设定是否允许root用户直接登录。
StrictModes yes 当远程用户私钥改变时则直接拒绝连接。
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登陆(很不安全)
     ssh-安全密钥的方式:作用原理为,在本地生成密钥对,将公钥发给远程主机,这样在我们用SSH命令登录远程机的时候,远程机会先从自己的密钥库来查找密钥信息,若能找到密钥信息,则会和要连接的机器的私钥匹配,能匹配上的花,则不需要输入密码。所以,如果要配置免密钥登录的话,我们首先要在本地生成密钥对,然后将公钥密钥发送给目标主机,目标主机将这个公钥密钥信息追加(>>)到自己的密钥库中即可.
     1, 可直接用 ssh-keygen 命令来生成密钥,其中会要求输入存储路径和密码。空格选择默认即可。也可以直接用 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  来直接指定生成相应的密钥对,-t  哪种密钥对,-P 指定的密码  -f 路径
     2,然后发送到目标主机相应的用户下,这里可以用scp 命令,也可以用ssh 的命令来发送
     3,远程机将收到的密钥追加到自己的密钥库中即可  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ,或者直接 ssh-copy-id [username]ip   可直接追加到目标用户的可信任密钥库中

LINUX : 一些常用的网络通讯命令_第3张图片

    查看密钥信息,在用户主目录下.ssh 目录下生成,一般生成的密钥对 都会存到此文件夹中。

这里写图片描述

LINUX : 一些常用的网络通讯命令_第4张图片


不间断回话服务:Screen服务

ss : 查看端口状态.
之前习惯用netstat命令查看本机的端口连接状态,这条命令也已经在红帽RHEL7系统中则被效率更高、显示信息更多的ss命令替代了。
ss命令用于查看本机的端口连接状态,具体的参数:
参数 作用
-a 显示所有的套接字
-l 显示所有连接状态的套接字
-e 显示详细的套接字信息
-m 显示套接字的内存使用情况
-p 显示套接字的进程信息
-4 显示ipv4的套接字信息
-6 显示ipv6的套接字信息
-t 仅显示tcp的套接字信息
-u 仅显示udp的套接字信息
-n 不解析主机名(提升速度)
-s 查看概述

和netstat 一样 常用的参数还是 ss -plnt
LINUX : 一些常用的网络通讯命令_第5张图片

你可能感兴趣的:(linux)