自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Linux下进程的管道通信

管道是一端到另一端之间的连接,相当于是一个进程与另一个进程之间的连接,是可以实现两个子进程之间的通信的。由于管道是单向传输的,但这里的要求是父进程与子进程的双向通信传输,所以这里我采用了建立两个管道,一个由父进程传输给子进程,一个由子进程传输给父进程,从而实现双向通信传输。通常情况下,父进程创建一个管道,并使用它与其子进程进行通信,子进程继承父进程的打开文件,因此也就继承了父进程创建的管道。管道是一个特殊的共享文件,需要通信的进程双方,通过连接管道的读写端口,对该共享文件进行读写来进行数据交换。

2024-04-28 11:38:53 531 1

原创 Linux下多线程的创建和控制

创建一个新 的线程,其功能对应进程中的fork函数,如果成功返回0,不成功返回一个错误的号码。获取当前线程的id,其返回值为Pthread_t类型(线程id类型)创建线程私有数据pthread_key_t结构。注意:此处的pthread_key_t结构,等待执行的线程,并接受子进程返回的状态。注销线程中的私有数据。

2024-04-27 16:10:30 902 1

原创 基于socket编程实现TCP和UDP的通信流程

Socket编程是计算机网络通信中的一种重要技术,它允许不同的计算机程序通过网络进行通信和数据交换。在Socket编程中,一个程序(通常称为客户端)通过创建Socket对象并与另一个程序(通常称为服务器)建立连接,从而进行通信。

2024-04-26 14:03:20 1080 1

原创 socket编程-----常用socket编程函数

操作系统:Linux编程语言:C语言简述:socket编程函数是socket编程中的基础,通过组合使用它们,可以实现各种网络通信功能。socket编程函数较多,在这里只是列出较为常用的socket函数。

2024-04-25 08:28:16 869 1

原创 计算机网络--运输层

运输层(也称为传输层)是OSI七层模型中的第四层,它位于网络层之上、会话层之下。运输层的主要功能是向应用层提供通信服务,确保数据的可靠传输,并负责端到端的通信。它是整个协议层次中最核心的一层,也是面向网络通信的低三层和面向信息处理的最高三层之间的中间层。根据应用层的不同需要,传输层可以提供两类服务:可靠的服务(TCP)和不可靠的服务(UDP)。可靠的服务(TCP)。发送进程的应用层报文交给运输层后,运输层能够保证将数据顺序地、无差错地、无丢失地交给接收方应用进程。

2024-04-24 11:23:11 1179 1

原创 TCP协议数据传输过程及报文分析

第一次握手:客户端向服务器发送一个SYN包,并进入SYN_SEND状态,等待服务器确认。这个SYN包中包含了客户端的初始序列号,用于后续的数据传输。第二次握手:服务器收到客户端的SYN包后,会发送一个SYN+ACK包给客户端,确认客户端的SYN包(通过ACK=客户端初始序列号+1实现),同时服务器也进入SYN_RECV状态,并发送自己的SYN包,其中包含了服务器的初始序列号。

2024-04-23 10:41:16 1367

原创 网络体系结构

OSI模型将计算机网络体系结构划分为七层,从低到高依次为:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。OSI模型从高到低分别为应用层、表示层、会话层、传输层、网络层、数据链路层和物理层。其工作原理是基于数据分割、数据封装、IP封装、数据传输、数据接收、数据解封、数据组装和数据交互等步骤,实现了数据的可靠传输。这种分层设计的目的是为了提高网络通信的灵活性、可靠性和可维护性。总的来说,网络协议和协议分层是计算机网络中不可或缺的组成部分,它们确保了数据在网络中的正确、高效和可靠传输。

2024-04-22 14:13:22 772

原创 关于邮箱的三个协议SMTP、POP3、IMAP

此外,SMTP本身不提供加密功能,因此在实际应用中,SMTP经常与SSL/TLS结合使用,形成SMTPS,以提供邮件传输过程中的加密和安全性。总的来说,IMAP协议提供了更为丰富和灵活的邮件管理功能,支持多设备同步和强大的搜索功能,适合需要高级邮件管理功能的用户。而POP3协议不支持在邮件服务器上组织邮件,用户必须在本地设备上管理邮件。POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如删除邮件,标记已读等)不会反馈到服务器上,比如通过客户端收取了邮件后,服务器端的邮件不会被删除。

2024-04-05 11:27:45 811 1

原创 用wireshark对FTP的抓包分析

不知道IP的,可以win+r输入cmd,在命令行输入ipconfig查看IP在物理客户端下打开FileZilla-3.60.1,执行FileZilla.exe,输入以上设置过的主机、用户名和密码后,点击快速连接,端口号要记住是21如果连接后,出现图中的无法连接的问题,可以关闭虚拟机上的防火墙,重新连接。然后既可以在wireshark中看到FTP的报文了。

2024-04-04 12:00:00 1384 2

原创 文件传输协议FTP(File Transfer Protocol)

FTP协议,即文件传输协议(File Transfer Protocol),是用于在网络上进行文件传输的一套标准协议。它工作在OSI模型的第七层,TCP模型的第四层,即应用层,并使用TCP传输而非UDP。客户在与服务器建立连接前要经过一个“三次握手”的过程,以保证客户与服务器之间的连接是可靠的。FTP协议的工作原理是,FTP客户与服务器之间建立双重连接,即控制连接和数据连接。控制连接负责传输控制信息,并对客户命令提供响应。当涉及到大量数据传输时,服务器和客户之间需要再建立一个数据连接,进行实际的数据传输。

2024-04-03 09:08:44 1378 1

原创 用wireshark对DHCP的抓包分析

DHCP(动态主机配置协议)确实是一种非常实用的网络协议,它能够自动地为网络中没有IP地址的主机分配地址、子网掩码等信息,极大地减轻了网络管理员的工作量。DHCP协议的前身是BOOTP(引导程序协议),主要用于无磁盘主机连入网络。然而,BOOTP需要在设定前事先获得客户端的硬件地址,且IP地址是静态的,这在有限的IP资源环境中可能会造成很大的浪费。DHCP作为BOOTP的增强版本,解决了这些问题。

2024-04-02 14:54:21 1569 1

原创 DNS和HTTP的抓包过程分析

DNS(Domain Name System,域名系统)是互联网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过DNS,用户可以方便地通过域名找到对应的IP地址,从而访问目标网站或服务。DNS的工作原理基于一个分布式的数据库系统,其中包含大量的域名和IP地址的映射记录。当用户输入一个域名时,DNS系统会在其数据库中查找对应的IP地址,并将结果返回给用户。

2024-04-01 13:33:35 1243

原创 Linux用户管理

Linux用户管理是指对Linux系统中的用户进行管理和控制的一系列操作和命令。它是Linux系统管理的重要组成部分,决定了系统中的用户可以访问哪些资源,以及对这些资源的权限限制。用户分组:根据用户的角色或职责,将他们分配到不同的组中,便于管理和控制。权限分配:为不同的用户或用户组分配不同的权限,控制他们对系统资源的访问和操作。用户帐号保护:通过密码策略、帐号锁定等方式,保护用户帐号的安全。密码管理:设置和修改用户的密码,确保帐号的安全。

2024-03-31 17:04:44 726 1

原创 Linux文件管理

相对路径可以让我们在编写代码或操作文件时,不必关心文件或目录的绝对位置,只需要知道它们相对于当前文件或目录的位置即可。使用相对路径的优点在于,当整个项目或文件夹被移动到其他位置时,只要相对位置关系不变,路径就无需修改,这增加了代码的可移植性和灵活性。另外在网站上,常用 “ / ” 表示根目录,如:/img/photo.jpg 表示 “ photo.jpg ” 在网站的根目录下的img目录里。总的来说,相对路径是一种方便且灵活的文件引用方式,特别适用于文件和目录结构相对固定的情况。

2024-03-25 14:45:19 958

原创 Linux中进程的创建与控制

fork的返回值,在不同进程中,返回的值不一样,在子进程中,是返回0,而在父进程是返回子进程的PID,如果返回的值小于0,则表示子进程创建失败。在这里可以看到父进程的进程ID大于零(2999),子进程的进程ID为零,同时父进程是比子进程先执行完成的。fork函数用于创建当前进程的子进程,创建子进程时,子进程会复制与父进程一样的堆栈段和数据段,和代码段。3,如果调用成功,则返回子进程的进程ID,如果没有调用成功,则返回-1。2,发出调用的进制只要有子进程,就会睡眠到子进程中,一个终止为止。

2024-03-18 19:06:39 445

原创 虚拟机安装VMTools实现与主机进行复制粘贴

在第三步结束后,可以运行以下命令,安装open-vm-tools的桌面组件(安不安装也可以正常运行,实现虚拟机与主机之间的复制粘贴)然后还是右键点击虚拟机-->找到设置-->选项-->客户机隔离-->勾选客户机隔离里面的两项。第二步:运行以下命令以卸载以前的open-vm-tools,避免出现错误。现在就是全部安装成功了,最后重启虚拟机,使其更改生效。第三步:安装open-vm-tools。第一步:在虚拟机里面打开终端。

2024-03-18 16:21:43 541

原创 Linux下C文件的创建执行

进入到text目录下,新建一个叫hello.c的C文件,可以在左边的图形界面可以看到hello.c文件存在text目录下。之后,他会自动安装好。安装好后,可以输入gcc,检查是否安装好,如下图就是安装好了。接下来,进入hello.c文件里编写代码,直接在图形界面打开hello.c文件。输入该命令后,可以看到在左边的图形界面出现了可执行文件hello。如下图,出现了hello.c文件的代码内容。先建立一个text文件夹。

2024-03-17 19:05:51 519

原创 VMwave虚拟机安装Ubuntu 22.04.4图文教程

然后特别要注意的是下面这两步,我们要选择好对应的版本,选择操作系统和版本如下图,然后下一步。选择使用ISO映像文件,浏览选中刚开始下载的Ubuntu系统,然后点右下角的关闭,再点完成。选择典型类型配置,对于新手而言,典型与自定义没什么区别,所以我们这里选择典型。填上个人信息及密码,也可以选择自动登录,我这里是选择了登录需要密码,然后继续。然后一直点击继续,直到出现下图,选择东八区,然后继续。这里我们先选择稍后安装操作系统,在选择下一步。下一步,自己选择安装的目录。检查两边是否都为中文。

2024-03-17 18:04:48 413 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除