第一次写shell脚本遇到的一些问题

最近的一个任务需要用shell脚本实现,这也是我第一次正式的写shell脚本。由于之前没怎么写过shell脚本,所以流程的每一步我都需要上网查,然后实验,过程还是挺艰难的。网上能查到的比较多的相关知识我就不赘述了,写一些我认为不是特别多的吧。 脚本要实现一个什么功能呢?在服务器上实现嵌入式设备程...

2019-06-24 20:46:46

阅读数 2

评论数 0

1——嵌入式WebServer的移植——boa&&appweb学习1

项目做到现在这个阶段,是时候引入http服务器了。以前的团队移植过boa作为http服务器,一方面给网页使用,另一方面给其他在http之上封装的协议使用。什么协议是加挂在http里面的呢,这里就不说了,我们业内覆盖范围最广的协议就是在http的body里面开发的,那不是本文重点。 当时移植boa...

2019-06-17 18:59:23

阅读数 124

评论数 0

2——嵌入式WebServer的移植——boa&&appweb学习2

年前已经做了一部分工作,马上就要开始向嵌入式设备上移植,再不补上就要断档。这里把appweb的一些东西贴出来。上一篇文章没有说appweb的大小,因为appweb功能多,很复杂,当时没有一个稍微确切点的定论。后来调试的时候有了一点概念。 appweb分dynamic和static两种方式,dyn...

2019-06-17 18:59:14

阅读数 65

评论数 0

3——嵌入式WebServer的移植——appweb的运行

WebServer的开发到今天是一个阶段,现在已经能够用chrome设置参数,浏览实时视频(flash+rtmp)。appweb也使用了一点点,与上一篇文章已经有了断档,刻不容缓必须更新了。 上一篇文章是在linux下运行appweb,去尝试sample文件夹下那几十个例子,里面的很多例子都已经...

2019-06-17 18:59:03

阅读数 51

评论数 0

4——嵌入式WebServer的移植——appweb对http的简单实现——Action Handler

上一篇说了appweb使用的版本,可以查看。话不多说直接上干货。前端使用chrome浏览器,实现参数的设置。按java的方案是使用表单,也就是html里面的form。就是一种非常简单的格式:a=b&c=4...... appweb对http uri和form的解析都有它的成熟的方案...

2019-06-17 18:58:50

阅读数 33

评论数 0

5——嵌入式WebServer的移植——appweb对json的支持——最后一篇

刚刚收获了一个赞,所以才写这最后一篇。appweb对json这种应用最广的网络协议自然有支持,无论是解析还是拼装,我就大概写一下。 解析 /** Get a request param @description Get the value of a named request...

2019-06-17 18:58:27

阅读数 21

评论数 0

ffmpeg/VLC连接rtmp视频断开的一个原因

问题 这几天解决了一个问题。问题是这样的,用ffmpeg向我做的rtmp server请求rtmp视频,99%的情况视频会在10秒钟内断开。ffmpeg会报一个mismatch的错误。打印是这样的:RTMP packet size mismatch %d != %d。在ffmpeg代码中是在rt...

2019-05-27 09:33:08

阅读数 9

评论数 0

感到压力

本周阅读量突破了6000,从5000到6000的这1000完全是靠之前文章的阅读量叠加上去的。这周,甚至过去一多半的5月只写了一篇文章。这段时间多少有些懈怠,各人状态也并不是很好。肯定是要早日调整过来继续向前的,年初定下的学习内核和网络的目标一直记得,每天都会告诉自己还有很多东西要学习,书要坚持看...

2019-05-17 17:42:35

阅读数 9

评论数 0

大规模回调函数(函数指针)的一种实现方法

/** * 这是今天看到的一种写法,以前没有注意,今天其他 * 需求又看了一下,有点感触,精简一下分享出来。 * * register和call里面的while循环是此方法的精髓。 * 同一个id可以有很多个不同的注册函数, * 这些函数通过register中的while循环添加到链...

2019-05-15 16:33:49

阅读数 5

评论数 0

readelf——2—— -h --file-header Display the ELF file header

-h显示文件头应该是最简单的一个参数,我想没有之一了,只有下面这一点点的输出: ELF Header: Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 Class: ...

2019-04-16 20:54:51

阅读数 13

评论数 0

readelf——1——环境搭建(编译)

上一个阶段翻译完了man elf,下面准备学习一下readelf,addr2lime,objdump等elf相关工具。之所以从readelf入手,是因为我感觉它最合适吧,原因也不清楚,因为哪个工具我都谈不上精通,选择一个马上行动才是最重要的。 学习readelf,当然要知道它是从哪里来的。不是这...

2019-04-16 20:40:46

阅读数 15

评论数 0

关于sizeof()使用的另外一种写法—— sizeof * 变量

今天在阅读代码的时候再次遇到了sizeof()的另外一种使用方法,然后自己进行了尝试,现在也仅仅是知道含义,深层次的含义此刻并不得而知,如果读者您知道,希望您能评论一下,谢谢。 在readelf源码中有get_64bit_section_headers()这样一个函数,里面在进行长度比较的时候有...

2019-04-16 20:20:11

阅读数 18

评论数 0

8——man elf的翻译——Notes (Nhdr)

Notes (Nhdr) ELF notes允许附加任意信息供系统使用。它们大部分情况是被内核文件使用(e_type of ET_CORE), 但是很多projects定义它们自己的扩展。例如,GNU tool chain使用ELF notes将信息从链接器 传递到C库。 Not...

2019-04-05 13:58:07

阅读数 43

评论数 0

7——man elf的翻译——动态标签 (Dynamic tags(Dyn))

.dynamic section保存的是一系列和动态链接相关的结构。d_tag成员控制着d_un结构体的内容。 typedef struct { Elf32_Sword d_tag; union { Elf32_Word d_val; Elf32_A...

2019-04-05 10:54:56

阅读数 40

评论数 0

6——man elf的翻译——重定位条目 (Relocation entries(Rel & Rela))

重定位是一种用符号定义连接符号引用的过程。可重定位文件必须拥有描述如何去修改它们section contents的信息,好让 可执行或共享目标文件保存程序镜像的正确信息。可重定位条目就是这些数据。 重定位结构不需要附加信息: typedef struct { Elf32_A...

2019-04-03 10:23:50

阅读数 32

评论数 0

5——man elf的翻译——字符串和符号表 (String and symbol tables)

字符串和符号表 string table sections保存的是以NULL结尾的字符串序列,通常叫做strings。目标文件使用这些字符串去代表符号和节名字。它们 中的一个字符串被用作到string table section的索引。其中第一个字节,也就是索引号位0的,被赋值‘\0’。同样的...

2019-04-02 09:40:15

阅读数 16

评论数 0

4——man elf的翻译——所有Sections说明

各种各样的sections保存了程序和控制信息: .bss 此节保存的是contributes to the program's memory image的未初始化的数据。当然,程序运行起来之后, 系统会把这些数据初始化为零。此节的类型是SHT_NOBITS。参数类型是S...

2019-04-01 10:13:53

阅读数 23

评论数 0

8——Linux二进制分析——学习——读完

用了今天一上午把剩下的两章半读完了,内存取证,作者开发的ecfs,还有kernel取证。现在感觉这本书读完前五章就可以了,后面的大概看看就行。介绍ptrace那一章才是最有用的部分,还算是扩展了一下我的视野。其他的我可以概况为两部分,一部分是作者的自我吹嘘,介绍自己开发的几个工具占用的篇幅太大。另...

2019-03-30 11:55:26

阅读数 28

评论数 0

3——man elf的翻译——Section header (Shdr)

Section header(Shdr) 通过section header table能够定位文件所有的section。section headertable 的格式是Elf32_Shdr或者Elf64_Shdr。 ELF header 的e_shooff字段是section header t...

2019-03-29 09:24:10

阅读数 29

评论数 0

2——man elf的翻译——Program header (Phdr)

Program header (Phdr) program header 是一个 array of structures,每一个描述了 a segment 或者是系统需要的程序执行的信息。 一个 object 文件的 segment 包含一个或几个 sections。program heade...

2019-03-25 10:18:56

阅读数 31

评论数 0

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