愿星光伴随你左右


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

Linux 路由表详解及 route 命令详解

时间: 2024-01-24   |   分类: 运维   tools     |   阅读: 1565 字 ~4分钟

Linux 内核的路由表

通过 route 命令查看 Linux 内核的路由表:

[root@VM_139_74_centos ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    0      0        0 eth0
10.0.0.10       10.139.128.1    255.255.255.255 UGH   0      0        0 eth0
10.139.128.0    0.0.0.0         255.255.224.0   U     0      0        0 eth0
link-local      0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-0ab63c131848
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-bccbfb788da0
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-7485db25f958
[root@VM_139_74_centos ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.139.128.1    0.0.0.0         UG    0      0        0 eth0
10.0.0.10       10.139.128.1    255.255.255.255 UGH   0      0        0 eth0
10.139.128.0    0.0.0.0         255.255.224.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-0ab63c131848
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-bccbfb788da0
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-7485db25f95812345678910111213141516171819202122

各列字段说明:

阅读全文 »

Golang 内存分析和动态追踪 pprof

时间: 2024-01-24   |   分类: go     |   阅读: 4412 字 ~9分钟

当你的golang程序在运行过程中消耗了超出你理解的内存时,你就需要搞明白,到底是 程序中哪些代码导致了这些内存消耗。此时golang编译好的程序对你来说是个黑盒,该 如何搞清其中的内存使用呢?幸好golang已经内置了一些机制来帮助我们进行分析和追 踪。

阅读全文 »

VSCode添加全局宏定义

时间: 2024-01-24   |   分类: vscode     |   阅读: 189 字 ~1分钟

问题:

利用vscode编辑代码时,设置了禁用非活动区域着色后,在一些编译脚本中配置的宏又识别不了

遇到#ifdef包住的代码就会变暗色,想查看代码不是很方便。如下图:

img

解决:

在vscode中添加全局宏定义。

步骤:

1.ctrl+shift+p,选择对应的编辑配置,比如c/c++的,进入文件c_cpp_properties.json

阅读全文 »

Git分支管理策略

时间: 2024-01-24   |   分类: git     |   阅读: 1897 字 ~4分钟

作者: 阮一峰

如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System)。

眼下最流行的"版本管理系统",非Git莫属。

img

相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快捷易用。

阅读全文 »

iptables防火墙只允许指定ip连接指定端口、访问指定网站

时间: 2024-01-24   |   分类: 运维   tools     |   阅读: 1353 字 ~3分钟

本文参考链接

文章主要介绍了iptables防火墙只允许指定ip连接指定端口、访问指定网站,需要的朋友可以参考下

需要开80端口,指定IP和局域网

下面三行的意思:

阅读全文 »

c语言打印调用栈及解析

时间: 2024-01-24   |   分类: c     |   阅读: 399 字 ~1分钟

相关头文件

#include <execinfo.h>
int backtrace(void **buffer, int size);
char **backtrace_symbols(void *const *buffer, int size);
void backtrace_symbols_fd(void *const *buffer, int size, int fd);

示例代码

#include <stdio.h>
#include <execinfo.h>
#include <stdlib.h>
 
void fun1();
void fun2();
void fun3();
void fun4();
void fun5();
void fun6();
void print_callstack();
 
int main()
{
	fun6();
	return 0;
}
 
void fun1()
{
	print_callstack();
}
 
void fun2()
{
	fun1();
}
 
void fun3()
{
	fun2();
}
 
void fun4()
{
	fun3();
}
 
void fun5()
{
	fun4();
}
 
void fun6()
{
	fun5();
}
 
void print_callstack()
{
	int size = 32;
	int i;
	void *array[32];
	int stack_num = backtrace(array, size);
	char **stacktrace = NULL;
 
	printf("%s begin\n", __func__);
	stacktrace = (char**)backtrace_symbols(array, stack_num);
 
	for (i = 0; i < stack_num; i++)
	{
		printf("%s\n", stacktrace[i]);
	}
	free(stacktrace);
	printf("%s end\n", __func__);
}

对应输出

[~]$ gcc test.c 
[~]$ ./a.out 
print_callstack begin
./a.out() [0x4006f8]
./a.out() [0x400680]
./a.out() [0x400690]
./a.out() [0x4006a0]
./a.out() [0x4006b0]
./a.out() [0x4006c0]
./a.out() [0x4006d0]
./a.out() [0x40066b]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f523b25ec05]
./a.out() [0x400599]
print_callstack end


[~]$ nm -n a.out 
                 U backtrace@@GLIBC_2.2.5
                 U backtrace_symbols@@GLIBC_2.2.5
                 U free@@GLIBC_2.2.5
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 w _Jv_RegisterClasses
                 U __libc_start_main@@GLIBC_2.2.5
                 U printf@@GLIBC_2.2.5
                 U puts@@GLIBC_2.2.5
00000000004004d0 T _init
0000000000400570 T _start
00000000004005a0 t deregister_tm_clones
00000000004005d0 t register_tm_clones
0000000000400610 t __do_global_dtors_aux
0000000000400630 t frame_dummy
000000000040065d T main
0000000000400672 T fun1
0000000000400682 T fun2
0000000000400692 T fun3
00000000004006a2 T fun4
00000000004006b2 T fun5
00000000004006c2 T fun6
00000000004006d2 T print_callstack
0000000000400790 T __libc_csu_init
0000000000400800 T __libc_csu_fini
0000000000400804 T _fini
0000000000400810 R _IO_stdin_used
0000000000400818 R __dso_handle
0000000000400840 r __func__.2719
0000000000400a90 r __FRAME_END__
0000000000600e10 t __frame_dummy_init_array_entry
0000000000600e10 t __init_array_start
0000000000600e18 t __do_global_dtors_aux_fini_array_entry
0000000000600e18 t __init_array_end
0000000000600e20 d __JCR_END__
0000000000600e20 d __JCR_LIST__
0000000000600e28 d _DYNAMIC
0000000000601000 d _GLOBAL_OFFSET_TABLE_
0000000000601050 D __data_start
0000000000601050 W data_start
0000000000601054 B __bss_start
0000000000601054 b completed.6344
0000000000601054 D _edata
0000000000601058 B _end
0000000000601058 D __TMC_END__
[~]$ 

说明

根据调用栈的地址到符号表地址中查找,

阅读全文 »

vscode远程gdb调试

时间: 2024-01-24   |   分类: IT     |   阅读: 1127 字 ~3分钟

目标

话不多说,本文要实现的是:在 windows 端远程调试 linux 服务器和 arm 嵌入式设备上的 c++ 代码,对 gdb 调试的配置及使用进行一个整理。

远程连接

首先需要实现远程连接服务器,在插件库中搜索 “remote-ssh”,双击下载安装即可(下图中我已安装好),安装好之后在侧边栏出现远程资源管理器

阅读全文 »

Linux 重启网卡后,网络不通

时间: 2024-01-24   |   分类: 运维     |   阅读: 475 字 ~1分钟

前言

不小心重启了线上服务器的网卡,结果整个网络不通了,就算使用127.0.0.1访问都不行,第一次遇到这种问题,当时就六神无主了,两个人排查了好久也没找到原因,万分火急。排查内核日志发现网卡状态不断地从Not Ready到Ready切换,但是却看不出任何原因。没办法还是得从日志中找原因,由于不知道错误关键词,只能肉眼盯着滚动的系统实时日志,终于功夫不负有心人,看到了这行日志:IPV4 forwarding is disabled. Networking will not work,下面就将整个排查过程简单明了的说明一下,希望能帮助到大家。

阅读全文 »
4 5 6 7 8 9 10 11 12

日志
分类
标签
RSS 订阅
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%