基础知识

常用命令
locate xxx; find / -name xxx
mount /dev/sdb /home/zhouhb/
lsof -i | grep 13352
grep “PES2TS” /home/zhouhb_work_file/TS_file/ -r -n 文本搜索命令
yum install samba*
zypper search xxx; zypper install xxx;
iostat -d -m 5 10000
netstat -ant |grep 8445
scp ./libEs.so root@192.168.44.8:/home
route add default gw 192.168.9.1 \r

关于抓包
指定网卡,指定IP,指定端口,写入cap文件
tcpdump -i eth1 host 192.168.1.1 and port 6069 -w a.cap

指定协议
tcpdump -i eth1 arp
tcpdump -i eth1 ip
tcpdump -i eth1 tcp
tcpdump -i eth1 udp
tcpdump -i eth1 rtsp

关于防火墙;
service iptables stop
iptables -L –查看屏敝情况
iptables -F –取消所以的屏敝

Wireshark的过滤规则

1.过滤IP,如来源IP或者目标IP等于某个IP
ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107
或者ip.addr eq 192.168.1.107

2.过滤端口
例子:
tcp.port == 80
tcp.port eq 2722
tcp.port eq 80 or udp.port eq 80
tcp.dstport == 80 // 只显tcp协议的目标端口80
tcp.srcport == 80 // 只显tcp协议的来源端口80
udp.port eq 15000
过滤端口范围
tcp.port >= 1 and tcp.port <= 80

3.过滤协议
例子:
tcp
udp
arp
icmp
http
smtp
ftp
dns
msnms
ip
ssl
oicq
bootp

4.过滤MAC
太以网头过滤
eth.dst == A0:00:00:04:C5:84 // 过滤目标mac
eth.src eq A0:00:00:04:C5:84 // 过滤来源mac

5.包长度过滤
例子:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后

6.http模式过滤
例子:
http.request.method == “GET”
http.request.method == “POST”

关于makefile和脚本
定义路径
INSTALLDIR = /home/zhouhb/work/nfs_ipnc_4.0/opt/
判断语句
ifeq ( (VERBOSE),true)MAKE:= (MAKE)
else
MAKE := $(MAKE) –no-print-directory
endif

定义一些变量(编译工具)
CC = (PREFIX)gccCXX= (PREFIX)g++
LD = (PREFIX)ldAR= (PREFIX)ar
STRIP = $(PREFIX)strip

声明一些东西
export PREFIX CC CXX LD AR STRIP CCDEP CFLGAS LDFLAGS RANLIB LIBS_HOME

打印一些东西
@echo “Please run < make BUILD_TARTGET= > if you have changed anything!!!!”

指定链接的动态库和静态库
LDFLAGS += -lfileServer -luuid -lmjson -llog4cplus -ljrtp -ludt4 -linilib

指定生成目标
TARGET := lib (notdir (shell pwd)).a

基本的脚步指令
cp (TARGETNAME) (APPSDIR)/$(TARGET_NAME)

指定编译
all : objdirs (TARGETNAME) (OBJS) : (OBJSPATH)/ (CURPATH)/%.cpp
$(COMPILE)

(TARGETNAME): (OBJS)
@echo Make app @from ^ …
(CXX)o (TARGET_NAME) (OBJS) (LDFLAGS)

指定clean
clean :
rm -f (OBJSPATH)/.ormf (OBJSPATH)/*.d
rm -f (OBJS)rmf (DEPS)
rm -f $(TARGET)
rm -f ./app/disk_test

指定头文件路径
INCDIRS += -I$(PUBLIC_LIB_INC_DIRS)

关于GDB和core
GDB使用:
(gdb) break 16 <——————– 设置断点,在源程序第16行处。
Breakpoint 1 at 0x8048496: file tst.c, line 16.
(gdb) break func <——————– 设置断点,在函数func()入口处。
Breakpoint 2 at 0x8048456: file tst.c, line 5.
(gdb) info break <——————– 查看断点信息。
(gdb) r <——————— 运行程序,run命令简写
(gdb) n <——————— 单条语句执行,next命令简写。
(gdb) c <——————— 继续运行程序,continue命令简写。
(gdb) bt <——————— 查看函数堆栈。
(gdb) finish <——————— 退出函数。
(gdb) info threads
(gdb) thread 4

在下列条件下不产生core文件:
( a )进程是设置-用户-ID,而且当前用户并非程序文件的所有者;
( b )进程是设置-组-ID,而且当前用户并非该程序文件的组所有者;
a,b可以通过设置/proc/sys/kernel/suid_dumpable来改变,这样suid的也可以产生core文件
( c )用户没有写当前工作目录的许可权;
( d )文件太大。core文件的许可权(假定该文件在此之前并不存在)通常是用户读/写,组读和其他读。
ulimit -c 1000

core没有产生的原因:
1)没有足够的空间
2)设置一个进程的当前工作目录的地方没有写权限
ulimit -c 0 不产生core文件
ulimit -c unlimited 不限制core文件大小

出问题的地方
视频的花屏问题(视频播放花屏,一开始播花屏);
延时问题(包含信令控制);
拖动问题(进度条问题);

介绍自己:
工作经历:
IPC,DVR,接入服务器,录像服务器,流媒体服务器。
一直从事一线的软件开发工作。
流媒体技术,存储技术,服务器开发技术。
熟悉HTTP,rtmp,RTSP,rtp等流媒体传输和控制协议。
熟悉存储管理技术,磁盘预分配技术;

能力:
有能力开发IPC,DVR,各种应用服务器,设计平台协议,项目管理。

其他的知识点
关于基本的编程;

关于线程安全;

关于内存的使用思考;

关于流媒体的知识;

关于流服务器的思考;

关于各种协议的知识;

关于整个平台框架协议;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值