- 博客(111)
- 资源 (2)
- 问答 (1)
- 收藏
- 关注
原创 Ubuntu搭建DNS服务器
前言其实在我们没有安装DNS服务之前,可以将/etc/hosts文件比作一个DNS服务配置文件,因为它实现和DNS类似。之所以会独立出DNS服务,是因为因特网主机多,如果每个主机都靠/etc/hosts文件来维护主机名到ip的映射,那么工作量非常大,对本地更新、网络资源占用都很浪费,所以出现了DNS。相关文件/etc/host 本地的一个小"DNS"文件。/etc/resolv
2016-03-31 16:26:02
12006
1
原创 Linux具体权限规划之ACL(Access Control List)
ACL机制涉及两条命令:setfacl 、getfaclACL来源owner,group,othre搭配的三种权限rwx中,没办法针对单一用户或者某个组。ACL可以针对单一用户、单一文件或者目录进行rwx权限设置。用mount命令查看根目录挂载的分区好,再用dumpe2fs命令查看该分区的superblock内容确定是否支持acl,一般都支持的了。j
2016-03-30 18:56:35
1582
原创 linux文件传输之SFTP和SCP
SFTP和SCP都是通过ssh(port22)通道来传输数据,所以传输的数据是加密过的。另外,对端必须已经启动了sshd。SFTP#sftp users@host...users@host's password:sftp>可以执行的命令:针对远程,ls\dir\mkdir\rmdir\pwd\chgrp\chown\chmod\ln\rm\rename\exit
2016-03-29 16:52:02
1044
原创 ubuntu搭建dhcp服务器
通过DHCP可以自动为客户主机ip,可分配动态ip和静态ip(固定ip)。图.11.搜索DHCP服务器(broadcast形式),window下的“自动获取ip”就是使用了dhcp。2.DHCP提供参数。如返回可供选择的ip,此ip可能是随机的,可能是本主机要求的固定ip。3.DHCP参数选择。如选定ip等。4.DHCP服务确认。DHCP服务器关系到
2016-03-29 15:32:40
2076
原创 linux下的hosts.allow和hosts.deny
两个文件可以用来控制远程访问的权限。hosts.allow对应允许远程连接的用户,hosts.deny对应拒绝远程访问的用户。以ssh为例:编辑hosts.deny.# /etc/hosts.deny: list of hosts that are _not_ allowed to access the system.# See the ma
2016-03-29 14:43:32
5661
原创 通过ssh通道加密通信数据
ssh数据加密是非常棒的,先来个如何进行加密的示意图。图.1开启ssh服务(ubuntu):#/etc/init.d/ssh start查看ssh 服务状态:图.2执行:#ssh -L 6000:127.0.0.1:8888 -N 127.0.0.1 // 注意,这里第一个ip是回环地址,第二个应该是远程的地址,这里用于测试。6
2016-03-24 18:44:31
4190
原创 ubuntu自主配置ip地址
相关命令:ifconfig , route输出网卡信息#ifconfig -aifconfig基本用法:ifconfig {interface} {up|down} //启动、关闭网卡ifconfig interface {options} options: // 选项包括 up,down mtu netmask broad
2016-03-24 15:28:27
1264
原创 关于C/C++获取指针大小判断系统位数的猜想
不讨论使用sizeof第一个程序,指针类型会根据系统位数的大小而分配。#include int main(int argc, char *argv[]){ int *p = (int *)~0; int count = 0; for (;p!=0;) { p = (int *)((long)p << 1); count++; } printf("%d\
2016-03-16 10:28:54
2726
原创 UNIX域套接字轮询XSI消息队列
/*轮询实现。因为消息队列和文件描述符没有关联,利用unix域套接字的作为中间层。*/#include #include #include #include #include #include #include #include const int NQ = 3;const int MAXSZ = 512;const int KEY = 0x1230;/
2016-03-15 17:14:52
815
原创 基本排序算法总结(C/C++)
基本排序算法分为五类: ①交换排序(冒泡排序、快速排序) ②插入排序(直接插入排序、Shell排序) ③基数排序 ④归并排序 ⑤堆排序(简单选择排序、堆排序) 下面直接上代码:#include #include #include using namespace std;/* ***************************************
2016-03-06 19:03:34
481
原创 linux运维路线
第一阶段(以搭建维护底层网络基础平台为驱动)实训主题实训内容实训目标 计算机硬件组成;虚拟机环境部署;安装维护Windows 7;Ghost系统备份与还原掌握计算机硬件组成;掌握使用VMWare部署实验环境,VMWare基本管理;掌握Windows 7操作系统的安装部署;掌握Ghost
2016-03-05 19:30:08
1629
原创 C++模板实现printf
要函数实现接受可变的参数模型,有三种方法。第一,通过C语言的va_list结构,以及va_start、va_arg、va_end来实现。如:void print(char *msg, ...){ va_list args; va_start(args, msg); ... int a = va_arg(args,
2016-02-24 23:29:37
2677
原创 C++Primer学习之四初始化
一.默认初始化调用无参或者时提供了默认参数的构造函数。二.拷贝初始化A a;A b = a;A c = 3; // 默认class A有一个形参为int的构造函数。先将3隐式转换为A,然后调用复制构造函数。三.直接初始化我的理解:使用非复制构造且提供初始值作为构造函数实参的初始化。四.列表初始化①int a{0}, b = {0}; // 正确double a
2016-02-08 10:31:27
730
转载 【干货】国外程序员整理的 C++ 资源大全
关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。标准库C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POSIX library
2016-01-31 21:08:09
1519
原创 C++Primer学习之二#define,const,constexpr
一.#define 是预处理操作符(宏定义),编译器将在编译过程中用到该变量的地方替换成对应的值。二.Constconst是声明常量的限定符,它可以约定一个变量为常量。如:Const int buffsize = 1024;编译器将在编译过程中用到该变量的地方替换成对应的值,这个效果和#define,constexpr是一致的。const常量只有在const i
2016-01-30 21:15:40
5553
2
原创 C++Primer学习之一引用和指针
一.引用引用是一种复合类型,引用分为左值引用和右值引用,其中右值引用时C++11提出来的,常说的引用其意为左值引用。注意:引用不是对象,它是一个对象(变量)的别名,不能改变引用的对象,故必须在初始化的确定引用的对象。 (1)引用(左值引用)引用的类型必须和被引用变量的类型一致,但有两种例外情况。①const引用double dval = 3.14;Const int
2016-01-30 21:10:44
668
原创 SMTP-发送邮件
1. 创建socket套接字 SOCKET s = socket(PF_INET,SOCK_STREAM,0); 2.获取smtp服务器地址 sockaddr_in sin; memset(&sin, 0, sizeof(sin)); sin.sin_family = AF_INET; sin.sin_port = htons(25);
2016-01-18 14:12:24
1527
原创 SMTP协议邮件常用命令与回复
SMTP命令列表HELO客户端为标识自己的身份而发送的命令(通常带域名)EHLO使服务器可以表明自己支持扩展简单邮件传输协议 (ESMTP) 命令。MAIL FROM标识邮件的发件人;以 MAIL FROM: 的形式使用。RCPT TO标识邮件的收件人;以 RCPT TO: 的形式使用。TURN允许客户端和
2016-01-17 17:38:55
6613
原创 MFC——void OnSize(UINT nType, int cx, int cy)
BEGIN_MESSAGE_MAP(CLibraryDlg, CDialogEx) ON_WM_SIZE()END_MESSAGE_MAP()void CLibraryDlg::OnSize(UINT nType, int cx, int cy){ if (!m_pTabCtrl) m_pTabCtrl = (CTabCtrl *)GetDlgItem(IDC_T
2016-01-10 17:00:12
4317
原创 socket实现ping嗅探,获取局域网所有活动主机
大概思路是:获取本主机IP,然后将它和子网掩码进行与操作,可知道子网的主机号范围,然后逐个进行Ping,最多ping4次。ping是基于icmp报文的,它被封装在ip中发送出去。主要问题是,这样单线程Ping速度真的非常慢,所以我尝试了多线程,不过过程并不顺利,主要是在recvIcmp过程中,内部或许有些更复杂的步骤。不过,有个简单的实现方法是通过system函数调用DOS
2015-12-11 12:06:12
5446
转载 ICMP报文
1 引言2 ICMP报文的类型3 ICMP地址掩请求与应答4 ICMP时间戳请求与应答5 ICMP端口不可达差错1 引言 ICMP经常被认为是IP层的一个组成部分。它传递差错以及其他需要注意的信息。ICMP报文通常被IP层或更层协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP报文是在IP数据报内部被传输的,它封装在IP数据报内。 关于
2015-12-03 23:04:56
2146
转载 Ping使用
PING 工作原理 一、什么是 PING 是 DOS 命令,一般用于检测网络通与不通 ,也叫时延,其值越大,速度越慢 PING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。Ping 发 送一个 ICMP 回声请求消息给目的地并报告是否收到所希望的 ICMP 回声应答。 它是用来检查网络是否通畅或者网络连接速度的命令。 作为一个生活在网络
2015-11-29 14:22:47
1036
原创 基于socket原始套接字的网络嗅探器
// NetSniffer.cpp : 定义控制台应用程序的入口点。///*简单说明一下什么是网络嗅探器,网络嗅探器是一个抓取所有经过网卡数据的软件,在一般使用电脑时,网卡只接受到发送至本机的数据,那是因为这是网卡是非混杂模式的,挡一个目的地址非本机地址的数据包经过网卡时,网卡在数据链路层(mac地址)检测到是非本机数据,则直接丢弃,当设置为混杂模式时,所有经过网卡的数据包均可被读取出
2015-11-28 12:50:04
7969
6
原创 windows基于TCP/IP的简单文件/图片传输
详细函数资料参考msdn// TransPic_Server.cpp : 定义控制台应用程序的入口点。/* Server.cpp*///#include "stdafx.h"#include #include #include #define BUF 256#pragma comment(lib, "Ws2_32.lib")int _tmain(int argc,
2015-11-21 17:04:41
3106
1
原创 基于winpcap的网络mac地址发现
arp数据包格式:主要文件有:datastruct.h 存储数据包格式的数据结构transfunc.h 发送arp的封装函数声明transfunc.cpp 定义Winpcap_arp.cpp main函数datastruct.h #ifndef HEADERSTRUCT_H#define HEADERSTRUCT_H//
2015-11-20 23:30:21
5492
原创 Git版本库理解和Git bash 命令行
Github 版本控制总共由三部分组成 : 工作区 、暂存区(index) 和 版本库(暂存区可以理解为包含在版本库内)。Git 之所以叫分布式版本控制系统,和 SVN的集中式版本控制不同之处是:Github在本地也有版本库,①提交(commit)直接保存在本地,要保存在远程端再用②推送(push),svn没由①步骤,所以在无网络的情况下是不能进行版本控制的。1. ca
2015-11-20 22:15:50
1884
转载 GUN C/C++ __attribute__ 用法
GNUC的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以设置函数属性(FunctionAttribute)、变量属性(Variable Attribute)和类型属性(Type Attribute)。__attribute__书写特征是:__attribute__前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute
2015-11-19 20:10:43
6167
转载 ARP数据包格式
一. 关于ARP协议的基础知识1.ARP的工作原理 我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Addre
2015-11-03 21:15:03
1972
转载 Winpcap 之pcap_datalink
返回链路层的类型,链路层的类型包括:DLT_NULL: BSD回路封装;链路层协议头是一个4字节的域,以主机字节顺序(host byte order),包含一个从socket.h来的PF_value。主机字节顺序(host byte order)是捕获数据包的机器的字节顺序,而PF_value是捕获数据包的机器的OS。如果一个读取一个文件,字节顺序和PF_value不一定是抓取文件的那些机
2015-11-03 20:13:27
3033
原创 001-Two sum
class Solution {public: vector twoSum(vector& nums, int target) { vector tmp_vec; if (nums.size() return tmp_vec; size_t index; int tmp[32767]
2015-10-29 23:33:36
518
VisualAssist2093+VS2015破解
2018-08-13
关于linux写时复制的一个疑问,C程序
2015-10-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅