这还是自己3年前(2011年)整理的笔记,记得当时那会儿自己对Linux还特别的憧憬,也很喜欢韩老师的讲课风格,边看边做笔记乐此不彼,现在开通了技术博客,所以把当年的笔记也放上来和大家分享。同时推荐没有Linux基础又看不下去书的童鞋们也去看看韩老师的视频,入门还是非常不错滴。
前几天群里有个同学问,“如何让应用层强制发送RST中止连接”,而不是通过FIN包的四次交互来关闭连接。当时,我只是凭借以往的经验,猜测使用linger选项可以做到。之所以这么猜测,完全是出于对TCP和linger的理解。
摘要 关于epoll的问题很早就像写文章讲讲自己的看法,但是由于ffrpc一直没有完工,所以也就拖下来了。Epoll主要在服务器编程中使用,本文主要探讨服务器程序中epoll的使用技巧。Epoll一般和异步io结合使用,故本文讨论基于以下应用场合: 主要讨论服务器程序中epoll的使用,主要涉及tcp socket的相关api。 Tcp socket 为异步模式,包括socket的异步读写,以及监听的异步操作。 本文不会过多讨论API的细节,而是专注流程与设计。 Epoll 的io模型 Epol
①我们的计算机由硬件组成,包括CPU、内存、主板、磁盘、各种外设等等。当这台计算机没有安装任何软件,只是一个硬件的集合体时,也叫做 裸机(纯硬件)。
TCP连接断开的时候调用close socket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?
历史指令保存在用户目录下的.bash_history文件(历史记录文件)中,并且每条指令都用时间戳的形式记录了执行时刻
原文链接:http://huaqianlee.github.io/2016/04/27/Uav/Qualcomm-uav-blsp-port/ 笔记: 1. 每一块BLSP对应六位,每一位对应一个GPIO,每一位的GPIO都可以作为UART、SPI、IIC的链接线 2. 需要通过平台的数据手册 来确定用哪块BLSP的哪个QUP链接是哪个GPIO,这些个GPIO支持的是什么类型的总线(三大总线之一),每一位又是作为三大总线的哪一条 3. BAM中断与外设中断:BAM中断意味着数据读取/写入完成 外设状态和错误的等级会引发外设中断
L011Linux和androidNDK之socket出错情况的处理:Interrupted system call,Try again
起初,我以为脏数据是由于后台缓存机制的问题,而后经过调试和搜寻发现,并非是后台缓存的问题。而是前台数据请求的问题,经过查看两次发送的请求,发现首次发送成功,而第二次,则在 RequestHeader 中出现了 from disk cache 的信息,请求并未发送成功。
本篇文章为本人从零开始学习linux的学习心得,其中包含了 部署虚拟环境安装linux系统 。其中若有错误之处,请读者积极指出,让本人与读者共同进步。
前些日子,在分享网络编程知识文章的时候,有个网友私信给我留言了一条“能不能写一篇关于 TCP 滑动窗口原理的文章”。
当物理内存不够时,linux 触发oom,将进程杀掉;可以使用vmstat可以展现给定时间间隔的服务器的状态值,包括Linux的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况,用于分析磁盘的压力在哪里,在swap,还是在load文件等
有时候我们要控制套接字的行为(如修改缓冲区的大小),这个时候我们就要控制套接字的选项了. 以下资料均从网上收集得到 getsockopt 和 setsockopt 获得套接口选项:
Client reports 是一种协议特性,允许客户端向 Sentry 发送关于自己的状态报告。它们目前主要用于为从未发送的事件发出结果。
使用命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0
在线课堂:https://www.100ask.net/index(课程观看) 论 坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝) https://weidongshan.tmall.com/(天猫)
注意:使用 sequelize 和 mongoose 的时候,会自动创建 id ,createdAt 和 updatedAt ,无需自己手动创建 。
Zabbix proxy是整个Zabbix架构的主要组件。因此很多时候,当其中一个proxy出现故障,会对所有监控配置造成严重的后果,引起一连串事件与问题。
systemctl status firewalld : 查看防火墙的状态,开启还是关闭
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:
/** * ajax简易demo * @param type 请求类型 * @param url 请求地址 * @param data 请求数据 * @returns {Promise<>} */ const ajax = function(type,url,data){ return new Promise((resolve,reject)=>{ const xhr = new XMLHttpRequest(); //创建一个XMLHttpRequest xhr.open(
可以发现,ORA-600是Oracle的内部错误,无法从错误代码提示上看出什么问题。
纲要 场景类型介绍 场景设计 场景执行 场景监控 监控要从影响性能的因素切入场景监控 场景介绍 1、手动设计测试场景 1.1 用户组模式 1.2 百分比模式 2、面向目标测试场景 要点:a、两种测试场景的应用场景,优点? b、两种模式的区别,应用场景举例说明 场景设计 1、Initialize:释义、常用设置及原因? 2、start Vusers:释义、常用方式及原因? 3、duration:常规压测、稳定性测试的时间 4、stop Vusers:一般如何start就如何st
出品 | OSC开源社区(ID:oschina2013) 这名新手程序员或许无意间创造了一项世界纪录 —— 他在 GitHub 创建的 PR 让 40 万开发者收到了邮件提醒,并被反复 “轰炸”。 近日,一名开发者向游戏公司 Epic Games 组织的 GitHub 仓库提交了一个 PR,内容是修改 README 文件中的几处表述性问题,以及调整 logo 尺寸。 这种没什么技术含量的 PR,通常是刚接触 GitHub 不久的新手程序员在 “练手”,又或是他们包装自己简历的一个手段 —— 毕竟 PR
应用层是网络协议栈中的最顶层,主要负责应用程序之间的通信。其中一种常见的应用层协议是HTTP协议,它定义了应用程序之间如何传递报文。
Ubuntu是目前领先的开源操作系统,它将于2020年4月23日发布名为Ubuntu 20.04 LTS Focal Fossa的新版本。目前,开发人员版本可供测试。这个Ubuntu的新版本将是一个长期支持(LTS)版本。Ubuntu Focal Fossa将在未来5年内提供。新版本有许多值得期待的新功能。Ubuntu已经在2020年1月9日的测试期内发布了Focal Fossa 20.04 LTS版本。在稳定版和LTS版发布之前,网上上有一个开发人员版。
今天巡检遇到数据库报错 ORA-00600错误,数据库版本为Oracle 11204 (x86_64),错误日志如下:
作者:刘晓明,互联网公司运维技术负责人,拥有10年的互联网开发和运维经验。一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能。
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🐅🐾🍁🐥
国外大神Kevin Backhouse刚刚放出了一篇博文,对苹果操作系统内核中发现的堆缓冲区溢出漏洞(CVE-2018-4407)进行了一番解构。
Internet - TCP 的封包格式:TCP 为什么要粘包和拆包? 中提到了 TCP 利用发送字节数和接收字节数,这个二元组的唯一性保证顺序。
1.华章分社在没有征得作者同意的情况下,修改了作者稿件,其后也未发给作者审核,造成许多错误;
在OSI体系中,该层位于第二层,从下到上依次: 物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。 在TCP/IP体系中,该层位于第一层,从下到上依次: 网络接口层,网际层,运输层,应用层。 在这层中,涉及到最重要的知识点 1 帧的格式 2 差错检验 3 碰撞检测 4 帧的长度问题 MAC帧的格式 6字节:目的地址 6字节:源地址 2字节:类型 46---1500字节:数据 4字节:冗余码 差错检验 使用CRC循环冗余差错检验 比如,要传送k个比特位,101001(k=6)。两遍设定好,除数(n+
本文分享的Writeup是作者在做Keybase.io的漏洞众测中发现的SOP(同源策略)绕过漏洞,由于Keybase.io在用的多个API端点都启用了CORS(跨域资源共享)机制,这种缓解同源策略的机制某种程度上克服了同源策略的严格限制,可以让不同域服务器间实现交互请求。而作者在测试中发现了Keybase的CORS策略错误配置,利用这种缺陷,可以操纵浏览器缓存获取用户敏感数据信息。一起来看看。
FIN_WAIT_1 : FIN_WAIT_1和FIN_WAIT_2状态的真正含义都是表示等待对方的FIN报文。而这两种状态的区别是: FIN_WAIT_1状态实际上是当SOCKET在ESTABLISHED状态时,它想主动关闭连接,向对方发送了FIN报文,此时该SOCKET即进入到FIN_WAIT_1状态。而当对方回应ACK报文后,则进入到FIN_WAIT_2状态,当然在实际的正常情况下,无论对方何种情况下,都应该马上回应ACK报文,所以FIN_WAIT_1状态一般是比较难见到的,而FIN_WAIT_2状态还有时常常可以用netstat看到。(主动方)
此时还会有一个异步线程不断的捞起未发送(state=0)的短信数据,执行发短信操作,发送成功之后state字段会被置为1(已发送)。也就是说未发送的数据会不断变少。
此时问题已经影响到整个网站的正常业务,我的那个心惊的呀,最主要报警系统没有任何报警,服务运行一切正常,瞬时背上的汗已经出来了。但还是要静心,来仔细寻找蛛丝马迹,来一步一步找问题。
web后端最常用的功能之一是静态文件的托管,也就是那些存放在服务器上的只读文件,可以让前端自由下载。最直接的实现手段就是将url的路径和文件系统的路径一一对应,这样就可以通过url来下载文件夹内不同的文件包括子目录的文件。
int setsockopt( SOCKET s, int level, int optname, const char* optval, int optlen );
在TCP的数据传送状态。非常多重要的机制保证了TCP的可靠性和强壮性。它们包括:使用序号。对收到的TCP报文段进行排序以及检測反复的数据;使用校验和来检測报文段的错误。使用确认和计时器来检測和纠正丢包或延时。 在TCP的连接创建状态,两个主机的TCP层间要交换初始序号(ISN:initial sequence number)。这些序号用于标识字节流中的数据,而且还是相应用层的数据字节进行记数的整数。通常在每个TCP报文段中都有一对序号和确认号。TCP报文发送者觉得自己的字节编号为序号,而觉得接收者的字节编号为确认号。TCP报文的接收者为了确保可靠性,在接收到一定数量的连续字节流后才发送确认。这是对TCP的一种扩展,通常称为选择确认(Selective Acknowledgement)。
窗口是操作系统开辟的一块缓存空间,发送方在收到接收方ACK应答之前,必须在缓冲区保留已发送的数据,如果按期收到确认应答,数据就可以从缓冲区移除。
Apache ActiveMQ是最流行的开源、多协议、基于 Java 的消息代理。它支持行业标准协议,用户可以从多种语言和平台的客户端使用AMQP协议集成多平台应用程序。
据The Hacker News网站报道,一个名为“ SysJoker ”的新型恶意软件正对Windows、Linux 和 macOS 操作系统构成威胁,可利用跨平台后门来从事间谍活动。
归档2015年在br做运维时常用的命令,主要梳理出日志的过滤操作。 对于日志文本的处理,常用的还是sed、awk,具体如下:
进程和操作系统内核需要能够未发生的时间记日志。这些日志可用于系统审核和问题的故障排除。依照惯例,这些日志永久存储在 /var/log 目录中
你可以直接在 chrome devtool 中看到一个 Recorder 面板,点击它就可以体验。
Windows窗口:接收方用来通知发送方,自己含有多少缓冲区来接收数据。发送方根据接收方处理能力,来发送数据。不会让接收方处理不过来。
领取专属 10元无门槛券
手把手带您无忧上云