telnet命令用于远端登入。(由于安全性,现在常用ssh)
参数 | 说明 |
---|---|
-a | 尝试自动登入远端系统。 |
-l<用户名称> | 指定要登入远端主机的用户名称。 |
-r | 使用类似rlogin指令的用户界面。 |
比如说 登录IP为192.168.180.120 的主机
telnet 192.168.180.120
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端口的情况
即一个当服务器开启,一个当客户端连接
httpd命令是Apache HTTP服务器程序。
在redhat 上 httpd 直接是Apache的命令,但在ubuntu 上 此命令是 apache2
设置网络设备的状态,或是显示目前的设置
语法: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地址。 |
[网络设备] | 指定网络设备的名称。 |
实例
显示网络设备信息
ifconfig eth0 up //启动网卡
ifconfig eth0 down //关闭网卡
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命令会向指定的网络主机发送特殊网络数据包 IMCP ECHO_REQUEST.
ping [参数] ip:
例如 ping www.baidu.com 查看本机和百度的网是不是通的
(secure shell) 安全回话
SSH(Secure Shell)是一种能够提供安全远程登陆会话的协议,假如希望在远程Linux系统中执行命令,就是通过这个协议。
为什么要强调SSH协议是安全的呢?因为比如ftp、telnet等服务在网络上不会对口令或数据进行加密,那么骇客们真的非常容易就可以截获这些信息(尤其是同局域网内的用户),因此它们在本质是就是不安全的。
ssh协议对应的是sshd服务。sshd服务提供两种安全验证的方法:
基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。
基于密钥的安全验证:需要在本地生成”密钥对”后将公钥传送至服务端,进行公共密钥的比较。
而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 可直接追加到目标用户的可信任密钥库中
查看密钥信息,在用户主目录下.ssh 目录下生成,一般生成的密钥对 都会存到此文件夹中。
之前习惯用netstat命令查看本机的端口连接状态,这条命令也已经在红帽RHEL7系统中则被效率更高、显示信息更多的ss命令替代了。
ss命令用于查看本机的端口连接状态,具体的参数:
参数 | 作用 |
---|---|
-a | 显示所有的套接字 |
-l | 显示所有连接状态的套接字 |
-e | 显示详细的套接字信息 |
-m | 显示套接字的内存使用情况 |
-p | 显示套接字的进程信息 |
-4 | 显示ipv4的套接字信息 |
-6 | 显示ipv6的套接字信息 |
-t | 仅显示tcp的套接字信息 |
-u | 仅显示udp的套接字信息 |
-n | 不解析主机名(提升速度) |
-s | 查看概述 |