xml地图|网站地图|网站标签 [设为首页] [加入收藏]
上下文交换,基础教程
分类:操作系统

 工具:

nc

    nc命名netcat,直译为网络猫。在CentOS 7查看帮助的解释如下所示:

ncat - Concatenate and redirect sockets

翻译过来就是可以连接和重定向Sockets。通过查询其他资料,可以看到nc命令功能确实非常多,它可以打开TCP连接,发送UDP包,监听TCP/UDP端口,进行端口扫描等等。

图片 1

VMware:VMware-workstation-full_12.5.5.17738.exe

基本语法

nc [选项] [主机名] [端口]

常用参数如下所示:

参数 说明
-4 仅使用IPv4
-6 仅使用IPv6
-c,--sh-exec [command] 执行给定的命令,同/bin/sh
-e,--exec [command] 执行给定的命令
-m,--max-conns [n] 设置同时连接的最大数
-d,--delay [time] 设置读/写的等待时间
-o,--output [filename] 将会话的数据保存为文件
-i,--idle-timeout [time] 读/写空闲超时时间
-p,--source-port port 指定本机使用的通信端口
-s,--source addr 指定远程通信的主机地址
-l,--listen 监听传入的连接信息
-k,--keep-open 在监听模式中接收多个连接信息
-n,--nodns 直接使用IP地址,不解析域名
-t,--telnet 响应telnet请求
-u,--udp 使用UDP替换默认的TCP
-v,--verbose 显示详细的输出信息
-w,--wait [time] 设置连接超时时间,单位为秒
-z 建立连接后马上断开,不发送和接收任何数据,即Zero-I/O模式,仅用于测试连接状态

上下文交换(context switch),又称环境切换,电脑术语,是一个储存和重建CPU的状态 (内文),因此令多个进程(process)可以分享单一CPU资源的计算过程。要交换CPU上的进程时,必需先行储存目前进程的状态,再将欲执行的进程之状态读回CPU中。

Ubuntu镜像:ubuntu-16.04-server-amd64.iso

示例

1.实现QQ的功能

  • 在本地终端监听一个端口
nc -l 9999
  • 在另一台服务器中输入以下命令建立连接
  nc 连接服务器IP 9999
  • 在任何一个服务器上输入的信息都将发送到另一台服务器上面

2.端口扫描

    在Linux中虽然有专业的端口扫描端口工具,如nmap,但如果我们只想知道端口是否处理开放状态,nc命令其实也是可以胜任的。下面演示就是扫描本机端口20-25

[root@localhost ~]# nc -z -v -n -w 2 127.0.0.1 20-25
nc: connect to 127.0.0.1 port 20 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 21 (tcp) failed: Connection refused
Connection to 127.0.0.1 22 port [tcp/*] succeeded!
nc: connect to 127.0.0.1 port 23 (tcp) failed: Connection refused
nc: connect to 127.0.0.1 port 24 (tcp) failed: Connection refused
Connection to 127.0.0.1 25 port [tcp/*] succeeded!

    当连接到服务器上的某个端口时,监听该端口的服务会传送一个Banner(类似于一条欢迎消息)信息,这个Banner一般都会显示自身程序的版本号等信息。而黑客就要可以利用这些信息做入侵策略。从上面我们可以看到22端口处于开放状态,因此我们就可以获取端口22的Banner信息

[root@localhost ~]# nc -v 127.1 22
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:22.
SSH-2.0-OpenSSH_7.4

    从上面信息可以看到SSH的版本,如果这个版本的SSH有漏洞的话,就可以被黑客给利用了。

3.传输文件

    在Linux传输文件,通常使用FTP和SCP,为什么还需要使用nc命令了?其实nc命令传输文件有其独有的优势,即只需要选择一个端口就可以在两台服务器间传输文件,而不需要进行任何配置,也不需要像FTP和SCP那样验证用户名和密码等信息。

  • 在文件的发送端,启动监听端口并准备好相应的文件
nc -v -l 9999 < out.txt
  • 在文件的接收端,使用以下命令接收数据
[root@localhost ~]# nc -v -n 服务器IP地址 9999 > in.txt
[root@localhost ~]#  ll in.txt
-rw-r--r-- 1 root root 25 7月  23 00:08 in.txt
  • 此时在发送端可以看到如下信息
[root@localhost ~]# nc -v -l 9999 < out.txt 
Connection from 客户端IP地址 port 9999 [tcp/distinct] accepted

4.传输文件夹

    如果需要传输多个文件或文件夹,nc是不是就无法完成了?这时就需要使用tar命令了。

  • 使用管道技术,将tar的输出通过管道传给nc
[root@localhost~]# tar -cvPf - ~/out | nc -l 9999
/root/out/
/root/out/out.txt
/root/out/eip.sh
  • 在客户端连接9999端口,然后将接收到数据通过tar解压
[root@localhost ~]# nc -n 服务器IP地址 9999 | tar -xvPf -
/root/out/
/root/out/out.txt
/root/out/eip.sh

本文同步在微信订阅号上发布,如各位小伙伴们喜欢我的文章,也可以关注我的微信订阅号:woaitest,或扫描下面的二维码添加关注:
图片 2

 

远程连接工具--SecureCTR:securecrt8.0中文破解版@304_242483.exe

何时交换?

有三种可能的情况会发生上下文交换,分别为:

安装步骤:

多工

最常见的,在一些排程(scheduling)算法内,其中行程有时候需要暂时离开CPU,让另一个行程进来CPU运作。在先占式多工系统中,每一个行程都将轮流执行不定长度的时间,这些时间段落称为时间片。如果行程并非自愿让出CPU(例如执行I/O操作时,行程就需放弃CPU使用权),当时限到时,系统将产生一个定时中断,操作系统将排定由其它的行程来执行。此机制用以确保CPU不致被较依赖处理器运算的行程垄断。若无定时中断,除非行程自愿让出CPU,否则该行程将持续执行。对于拥有较多I/O指令的行程,往往执行不了多久,便需要让出CPU;而较依赖处理器的行程相对而言I/O操作较少,反而能一直持续使用CPU,便形成了垄断现象。此即Convoy效应。

【1】安装VMware;下一步,勾选同意下一步,更改安装路径下一步,一路按照默认下一步,最后点击安装。

中断处理

在接受到中断(Interrupt)的时候,CPU必须要进行上下文交换。

VMware Workstation 12序列号:5A02H-AU243-TZJ49-GTC7K-3C61N  永久有效

用户态或者内核态的交换

当用户态和内核态交换发生的时候,并不需要进行上下文交换;并且用户态和kernel mode的交换本身并不是一个上下文交换。不过,根据操作系统的不同,有时候会在此时进行一次上下文交换的步骤。

【2】创建一个虚拟机

上下文交换:具体步骤

在一次交换中,第一个行程的状态要被纪录在某个地方,这样当排程器(scheduler)要回到这个行程时,才可以重建这个行程并且继续运算。

这里所谓“行程的状态”,包含了这个行程使用的所有暂存器(register),特别是程式计数器;加上所有操作系统可能需要的特定资料。这些资料一般以名为行程控制表(process control block,PCB)的数据结构储存起来。

 (1)打开VMware,在主页上点击【创建新的虚拟机】;

上下文交换:由软件或硬件实现

上下文交换可分为主要由软件实现或由硬件实现。部分中央处理器,比如Intel 80386或同系列更高阶的处理器,就具备支持上下文交换的硬件设计。

我们的公共号

https://wuguiyunwei.com

图片 3

(2)选择【自定义】安装,点击【下一步】;

(3)硬件兼容性保持默认,点击【下一步】; 

(4)选择【稍后安装操作系统】,点击【下一步】; 

(5)客户机操作系统选择 Linux ,版本选择 Ubantu64位 ,点击【下一步】; 

(6)虚拟机名称随意,安装位置选择空间足够的磁盘,点击【下一步】; 

(7)处理器相关数量默认为 1 ,点击【下一步】; 

(8)指定分配内存2GB,点击【下一步】; 

(9)网络类型选择 使用网络地址转换(NAT)(E),点击【下一步】; 

(10)I/O控制器和磁盘类型都选择推荐的选项,点击【下一步】;

(11)磁盘选择创建新虚拟磁盘,点击【下一步】;

(12)磁盘大小在20GB以上,将虚拟磁盘拆分成多个文件,点击【下一步】;

(13)磁盘文件随意,点击【下一步】;

(14)确认信息正确后点击【完成】;

(15)虚拟机新建成功,在新界面的左侧点击CD/DVD(SATA),在右侧弹框中选择使用ISO映像文件,并选择对应的路径,点击【确定】(先在自己电脑上准备好iso镜像文件)

(16)点击左侧列表的网络适配器,在右侧弹框中选择 桥接 模式,点击【确定】;(桥接模式允许外部远程访问本台虚拟机,NAT模式只允许本地访问)

(17)设置完成后点击左上方的 开启此虚拟机,进入Ubuntu配置;

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:上下文交换,基础教程

上一篇:利用privoxy劫持http网站数据,文件系统类型 下一篇:绑定域名到子目录实现子站点,主从架构搭建
猜你喜欢
热门排行
精彩图文