iNet

linux —— 基础——whatis & info & man & which & whereis

三世轮回 提交于 2020-04-10 18:06:37
#man -k root@bae226a5b14a:/etc/dpkg/dpkg.cfg.d# man -k man add_key (2) - add a key to the kernel's key management facility at (1posix) - execute commands at a later time batch (1posix) - schedule commands to be executed in a batch queue bpf (2) - perform a command on an extended BPF map or program bsd_signal (3) - signal handling with BSD semantics command (1posix) - execute a simple command copysign (3posix) - number manipulation function cproj (3) - project into Riemann Sphere cprojf (3) - project into Riemann Sphere cprojl (3) - project into Riemann Sphere CPU_ALLOC (3) - macros for

一个简单的python文件传输服务器

折月煮酒 提交于 2020-04-09 19:16:40
服务器 代码,可以兼容python2 和 python3 #!/usr/bin/python3 # -*- coding: utf-8 -*- from socket import socket, AF_INET, SOCK_STREAM class SimpleServer: def startServer(self,port): tcpSerSock=socket(AF_INET,SOCK_STREAM) tcpSerSock.bind(("",port)) tcpSerSock.listen(5) while True: try: print("server start! waiting connect...") tcpCliSock,addr =tcpSerSock.accept() print("from client " + addr[0]) while True: filename_len = tcpCliSock.recv(1) if not filename_len: break try: filename_len = int(str(filename_len)) #python2 except: filename_len = int(filename_len.decode()) #python3 filename = tcpCliSock.recv

Linux系统中如何彻底隐藏一个TCP连接?

北城以北 提交于 2020-04-09 18:02:29
前面的文章中,我稍微描述了一下如何隐藏一个TCP连接: https://blog.csdn.net/dog250/article/details/105372214 在上文中,我采用了 传统 的做法,即hook住proc的/proc/net/tcp展示接口,但这个方法并没有可观赏性,说白了有点像掩耳盗铃,毕竟连接还是在那里的,你自己去遍历系统的TCP ehash表,还是能看到所有大的TCP连接的。 所以,今天我来用 手艺活儿 的方法,庖丁解牛般演示如何彻底隐藏一个TCP连接。 看看那些各种hook proc展示接口的掩耳盗铃法,多么的复杂!多么的复杂啊!看看我这个,多么的彻底!多么的简单啊! 所谓的彻底隐藏,就是将一个TCP连接从系统的TCP ehash表中摘除!这个很容易,调用 inet_unhash 即可了。 问题是,摘除了之后,我们把它放在哪里,才能让进来的数据包顺利匹配到该连接呢? 答案还是二进制hook。 我们搜索系统内存中含有8个字节(一个地址的大小)空隙的位置,把sock结构体的地址放进去即可。这个空隙一般在内核函数之间。比如我使用的地址: # define ROOM_ADDR 0xffffffff815622dd 它就是ip_rcv函数和ip4_frag_match之间的无用空隙。当然了,我们也可以动态分配内存,但是并不优雅。 来吧,下面是代码: // hide

Python第十三章-网络编程

主宰稳场 提交于 2020-04-09 17:55:09
网络编程 一、网络编程基础 python 的网络编程模块主要支持两种Internet协议: TCP 和 UDP. 1.1通信协议 通信协议也叫网络传输协议或简称为传送协议(Communications Protocol),是指计算机通信或网络设备的共同语言。 现在最普及的计算机通信为网络通信,所以“传送协议”一般都指计算机通信的传送协议,如:TCP/IP、NetBEUI、HTTP、FTP等。 然而,传送协议也存在于计算机的其他形式通信,例如:面向对象编程里面对象之间的通信;操作系统内不同程序之间的消息,都需要有一个传送协议,以确保传信双方能够沟通无间。 1.2 TCP/IP 协议 在Internet中 TCP/IP 协议是使用最为广泛的通讯协议( 互联网上的一种事实的标准 )。TCP/IP是英文 Transmission Control Protocol/Internet Protocol 的缩写,意思是“传输控制协议/网际协议” TCP/IP 协议是一个工业标准协议套件,专为跨广域网(WAN)的大型互联网络而设计。 TCP/IP 网络体系结构模型就是遵循TCP/IP 协议进行通信的一种分层体系,现今,Internet和Intranet所使用的协议一般都为TCP/IP 协议。 在了解该协议之前,我们必须掌握基于该协议的体系结构层次,而TCP/IP体系结构分为四层。 第 1 层

UNIX网络编程 函数归类

非 Y 不嫁゛ 提交于 2020-04-09 14:23:26
网络字节序和主机序相互转换 #include<netinet/in.h> uint16_t htons(uint16_t host16bitvalue);//主机序转网络字节序 16位 uint32_t htonl(uint32_t host16bitvalue);//主机序转网络字节序 32位 uint16_t ntohs(uint16_t host16bitvalue);//网络字节序序转主机 16位 uint32_t ntohl(uint32_t host32bitvalue);//网络字节序序转主机 32位 h代表host,n代表network,s代表short,l代表long IPv4点分十进制和网络字节序的转换 #include <arpa/inet.h> int inet_aton(const char *strptr, struct in_addr *addrptr);//点分十进制转网络字节序 char *inet_ntoa(struct in_addr inaddr);//网络字节序转点分十进制 IPv4或者IPv6点分十进制和网络字节序的转换 #include <arpa/inet.h> int inet_pton(int family,const char *strptr, void *addrptr);//点分十进制转网络字节序 const char

Linux下ipv6配置系列一:如何配置Linux系统ipv6环境

倾然丶 夕夏残阳落幕 提交于 2020-04-06 13:27:17
导读:相信很多同学在上架App到苹果app store时遇到一个比较坑爹的问题,就是App内的api或者网页必须要支持ipv6协议访问。这一下可把大伙儿急坏了,反复提交都被无情的拒绝,相信各位同学和笔者一样都是伤透了脑筋,接下来,我想请大家和我一起来共同学习一下如果在linux centos 系统中配置ipv6环境。GO GO GO... 一:检查Linux是否已经开启ipv6 [root@iz2ze3oyrjbxg32wecre15z /]# ifconfig 从结果看出,输出结果没有 ipv6支持,如果支持ipv6,则输出结果会包含 “inet6”。 各位同学可以亲测一下,如果各位同学的环境已经支持,则可以不用往下看啦,呵呵! 二:开启ipv6 1、找到配置sysctl.conf 文件,路径在:/etc/sysctl.conf ,找到如下配置: 如果已经存在,则直接修改,如果不存在,则新增。 将列出的ipv6相关配置更改为0 感谢原作者,原地址: https://blog.csdn.net/shenxianfeng/article/details/72859588 2、找到 disable_ipv6.conf 文件,路径在: /etc/modprobe.d/disable_ipv6.conf 找到如下配置: 将列出的配置更改为 0 3、找到 network.conf 文件

Ubuntu16.04部署supervisor

痴心易碎 提交于 2020-04-06 07:37:35
Ubuntu16.04部署supervisor 安装supervisor: apt-get install -y supervisor 启动supervisor: systemctl start supervisor 设置开机自启动: systemctl enable supervisor 编辑配置文件: 实例: supervisor 配置文件 编辑配置文件: vim /etc/supervisor/supervisord.conf 添加:(开启supervisor网页功能) [inet_http_server] port=0.0.0.0:9001 username=user password=123 添加进程配置文件 cd /etc/supervisor/conf.d/ zookeeper为例: vim zk.conf --------------------------------------------------------- [program:zk] command = /usr/zookeeper-3.4.10/bin/zkServer.sh start-foreground environmen=JAVA_HOME="/usr/jdk1.8" user = root autostart = true autorestart = true startsecs = 5

spring-boot 程序出现oom自动重启的shell脚本

你说的曾经没有我的故事 提交于 2020-04-06 06:20:31
FILE_THIS="./oomLog" FILE_LAST="./oomTemp" FOLDER="./back" DIR=`pwd ` IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" ` while :; do if [ -e "$FILE_THIS" ]; then # mv "$FILE_THIS" "$FILE_LAST" # ls "$FOLDER" > "$FILE_THIS" diff "$FILE_THIS" "$FILE_LAST" if [ $? == 0 ]; then echo Not changed else echo Changed ./stop.sh ./start.sh MTIME=`ls -l --time-style="long-iso" $FILE_THIS |awk '{ print \$6 "-" \$7}' ` # SMS="http://193.0.10.197:8084/skynet/collect?infoId=13\&text=oom_error$MTIME\&phone=18758363171\&title=watchdog" SMS="http://193.0.10.197:8084

Unix 网络编程卷一源码编译踩坑记录 ubtutu 19.10

一个人想着一个人 提交于 2020-04-05 18:38:19
在阅读unpv1时运行源代码的环境配置,这里简单记录一下 源代码里的README 写得挺详细的,但是在Linux 系统的下还是没办法直接编译通过的, 这里我使用的是ubuntu 19.10(在腾讯云ubuntu server 18.04.1也测试通过) 以下是简单的步骤: 1.下载源码并解压 2.解压源代码后得到unpv13e, 3.开始编译 cd unpv13e . / configure cd lib make cd .. / libfree make 这时报错: inet_ntop.c: In function ‘inet_ntop’: inet_ntop.c:60:9: error: argument ‘size’ doesn’t match prototype 将 inet_ntop.c 第60行的 size_t size 改成 socklen_t size,报错退出重新make vim inet_ntop.c  接着最后一个步骤 cd ../ intro make daytimetcpcli 此时无法成功运行,需要修改系统daytime 配置 查看端口 cat /etc/services | grep " daytime " 修改配置项,将两个disable配置项修改由yes改为no sudo vim /etc/xinetd.d/daytime 重启服务 sudo

文件处理及分区管理

…衆ロ難τιáo~ 提交于 2020-04-05 16:59:39
{6.shell脚本命令} [1.diff] diff file file1 **比较两个文件的不同 -c **显示周围的行 -u **按照一格式统一输出生成补丁 -r **比较两个目录中文件的不同 patch file file.patch **打补丁 -b **备份原文件 [2.grep] grep 关键字符 文件|目录 **在文件或目录中查找含有关键字的行 grep -i **忽略大小写 -n **显示关键字所在的行 -c **显示过滤结果的个数 -v **反向过滤 -E "关键字1|关键字2" **过滤多个关键字 -r **在目录中查找含有关键字的文件 注意: ^关键字 **以关键字开头 关键字 $ **以关键字结尾 grep -E "^root|root$" -v passwd -n | grep root **反向过滤passwd中以root开头和root结尾的行并显示含有root的行 [root@localhost mnt]# ifconfig eth0 | grep inet | grep inet6 -v |cut -d " " -f 10 172.25.254.17 [root@localhost mnt]# ifconfig eth0 | grep inet | grep inet6 -v | awk -F " " '{print $2}' 172.25