随笔分类 -  linux

linux命令,遇到的操作问题,小工具等等
摘要:xl2tpd的配置文件xl2tpd.conf一共有3种章节类型: - global 全局配置章节 - lns LNS(L2TP Network Server网络服务器)配置章节,作为服务器时 - lac LAC(L2TP Access Concentrator接入汇聚点)配置章节,作为客户端时 章节 阅读全文
posted @ 2023-07-14 17:20 thammer 阅读(3094) 评论(0) 推荐(0)
摘要:[xl2tpd](https://github.com/xelerance/xl2tpd)是l2tp的一个实现,由xelerance公司开发,所以叫xl2tpd。它Fork自[l2tpd](https://sourceforge.net/projects/l2tpd/)。都是既可以做client也可 阅读全文
posted @ 2023-07-14 14:19 thammer 阅读(961) 评论(0) 推荐(0)
摘要:目标机器是一台arm64的板子,由builroot构建。首先添加一项运行配置,可以通过**运行 >编辑配置**来,也可以通过锤子旁边的下拉框来。 ![img.png](https://img2023.cnblogs.com/blog/689637/202306/689637-202306130919 阅读全文
posted @ 2023-06-13 09:53 thammer 阅读(1062) 评论(0) 推荐(0)
摘要:机器上折腾了一个ubuntu环境,做了大量的定制,准备克隆给其他设备用,结果今天有一个需求需要修改/etc/sudoers,我直接vim修改,拿掉了#include的#号,结果悲剧了,sudo无法执行了。 # User privilege specification root ALL=(ALL:AL 阅读全文
posted @ 2023-05-19 11:48 thammer 阅读(100) 评论(0) 推荐(0)
摘要:在linux下做c/c++开发时,经常遇到一个问题,就是如果代码引用了大量的第三方库,链接的时候常忘记或者根本就不知道具体要链接哪个库,导致 链接的时候报未定义的引用,特别是一些库你不太熟悉时,甚至都不知道该链接谁。 /usr/bin/ld: CMakeFiles/gstdemo.dir/main. 阅读全文
posted @ 2023-03-07 13:40 thammer 阅读(813) 评论(0) 推荐(0)
摘要:​ 有时候碰到程序有问题时,需要借助gdb来分析,但是直接把带调试信息的elf发布出去又不太合适,这时就需要从中分离符号文件,单独发布strip过的elf文件。使用gdb时,只需要加载符号文件就行了。 ​ 首先生成带调试信息的elf文件: gcc -g3 main.c -o main.dbg ​ 然 阅读全文
posted @ 2023-02-17 17:57 thammer 阅读(617) 评论(0) 推荐(0)
摘要:Sanitizersers是一个工具集合,由google开发并开源,项目地址sanitizers 。Sanitizers包括系列工具: AddressSanitizer,检测内存访问问题 MemorySanitizer,检测未初始化内存问题 ThreadSanitizer,检测线程竞态和死锁问题 L 阅读全文
posted @ 2023-02-13 18:06 thammer 阅读(1810) 评论(0) 推荐(0)
摘要:​ 平时构建用buildroot,openwrt,在openwrt下,官方文档介绍的是使用quilt生成补丁文件,在buildroot下好像并没有太详细的介绍。不过生成补丁和你所使用的构建框架并没很大的联系,一般来说,有3种方式,diff,quilt, git。 1. 使用diff生成补丁文件 ​ 阅读全文
posted @ 2023-02-03 17:53 thammer 阅读(892) 评论(0) 推荐(0)
摘要:内部变量 linux中shell变量$#,$@,$0,$1,$2的含义解释: $$ :Shell本身的PID(ProcessID) $! :Shell最后运行的后台Process的PID $? :最后运行的命令的结束代码(返回值) $- :使用Set命令设定的Flag一览 $* :所有参数列表。如" 阅读全文
posted @ 2021-04-19 11:09 thammer 阅读(64) 评论(0) 推荐(0)
摘要:L2TP: 第二层隧道协议(英语:Layer Two Tunneling Protocol,缩写为L2TP)是一种虚拟隧道协议,通常用于虚拟专用网。L2TP协议自身不提供加密与可靠性验证的功能,可以和安全协议搭配使用,从而实现数据的加密传输。经常与L2TP协议搭配的加密协议是IPsec,当这两个协议 阅读全文
posted @ 2021-01-27 20:48 thammer 阅读(4408) 评论(0) 推荐(0)
摘要:PPTP(点对点隧道协议):控制包和数据包分开,控制包采用TCP控制,数据包部分封装PPP协议然后封装GREV2协议。由此可见PPTP建立连接前,要求有IP网络。 Ubuntu 20.04.1 上搭建PPtP Server和Client Server端 安装ppp sudo apt install 阅读全文
posted @ 2021-01-27 16:50 thammer 阅读(3793) 评论(0) 推荐(0)
摘要:前提,被分析机器上有tcpdump,支持ssh登录。 http://sakananote2.blogspot.com/2010/10/ssh-wireshark.html ssh root@192.168.123.101 tcpdump -U -s0 -w - 'not port 22' | wir 阅读全文
posted @ 2020-11-19 09:42 thammer 阅读(471) 评论(0) 推荐(0)
摘要:​ valgrind包含多个工具,通过--tool=xxx指定,最被大家熟知是memcheck,主要解决内存泄露,越界访问,未初始化却去引用等问题,它是默认选项,如果未指定--tool,默认就是memcheck了。而在多线程编程中,最常见的bug有:数据竞争(data race),死锁,错误的使用P 阅读全文
posted @ 2020-10-29 17:51 thammer 阅读(3136) 评论(0) 推荐(0)
摘要:准备工作 1.快速了解PKI/CA PKI(Public Key Infrastructure)公钥基础设施 CA (Certificate Of Authority) 认证中心 2. 利用easy-rsa构建PKI easy-rsa是OpenVPN下管理密钥的一个工具,它是以shell写成,主要是 阅读全文
posted @ 2020-09-29 18:26 thammer 阅读(863) 评论(0) 推荐(0)
摘要:有时候在ubuntu上做一些测试,需要安装一些软件,但是用过后呢,以后基本不会用到,所以想卸载他们。这个测试过程也许持续几天,中间安装过各种包,你根本不记得到底安装了哪些。可以通过看bash的历史纪录,但是还是麻烦,最方便的是按照时间逆序列出apt安装的软件。可以通过如下脚本实现 for x in 阅读全文
posted @ 2020-09-21 09:53 thammer 阅读(1757) 评论(0) 推荐(1)
摘要:Ubuntu 18.04预装GCC版本为7.3,但有时在编译是需要用的不同gcc版本,下面介绍,如何安装不同的gcc 和g++,并设置根据不同的需要在不同版本之间切换。 ##1. 可以通过如下命令查看当前安装的版本: ll /usr/bin/gcc* ##2. 安装gcc-4.8 sudo apt 阅读全文
posted @ 2020-08-30 13:48 thammer 阅读(2851) 评论(0) 推荐(0)
摘要:如果想要NAT功能能够正常使用,需要开启Linux主机的核心转发功能。 echo 1 > /proc/sys/net/ipv4/ip_forward 方式一:以wan口ip作为匹配条件 1. 新增一条端口映射规则 将访问wan口的端口转发至内网某个ip上 iptables -t nat -A PRE 阅读全文
posted @ 2020-08-08 15:55 thammer 阅读(3012) 评论(0) 推荐(0)
摘要:valgrind使用 内存检查工具memcheck valgrind --tool=memcheck yourprogram 多线程工具helgrind valgrind --tool=helgrind yourprogram 其他常用选项 指定log输出文件,有时候不想程序的打印输出和valgri 阅读全文
posted @ 2020-07-03 09:55 thammer 阅读(933) 评论(0) 推荐(0)
摘要:在linux中,进程是资源分配的基本单位,而线程才是调度的基本单位。 一个在计算机上运行的程序,需要一些基本的硬件资源才能正常运行起来,包括CPU,内存,存储设备(文件),还有对所有文件进行管理的文件系统。 在linux里面是用 来描述一个进程资源的分配情况(线程也是用这个结构来描述,具体后面介绍) 阅读全文
posted @ 2020-04-25 21:16 thammer 阅读(741) 评论(0) 推荐(1)
摘要:wireshark要监控eth0,但是必须要root权限才行。但是,直接用root运行程序是相当危险,也是非常不方便的。 解决方法如下: 添加wireshark用户组 sudo groupadd wireshark 将dumpcap更改为wireshark用户组 sudo chgrp wiresha 阅读全文
posted @ 2020-04-09 10:10 thammer 阅读(1087) 评论(0) 推荐(0)