随笔分类 - 网络编程
摘要:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fendou929.blog.51cto.com/3021076/1152469 先来看看ARP病毒是怎么回事。简单的说就是:这种病毒自身可以伪造一些ARP回应包。这些包的源IP地址一般是重要设备的IP地址,而那个源MAC地址可能是自己的MAC,也可能是一个无用的MAC地址。而目的IP地址和目的MAC地址都是广播地址,这样的话,这个新的ARP条目就会发送到网络中的任何一个设备中。然后,这些设备就会更新自己的ARP缓存,这样一来呢,就达到欺骗的效果了。以后我们的机器在往重要的设备
阅读全文
摘要:仔细看了看DNS协议的相关东西,其实实际编程的时候根本用不到DNS 细节的东西,要获取域名的时候经终端下用host或者nslookup指令就可以,在c里面使用gethostbyname或者getaddrinfo都 能很轻松得将dns域名解析为ip地址,写这个纯粹出于个人兴趣,或者说是闲得吧。在进行域名解析的时候,解析程序向域名服务器发起请求,域名服务器也就是在操作系统网络配置的时候写进去的那个DNS服务器地址,或者也有可能是由 ISP提供的自动获取的,原理都一样,域名服务器收到请求后进行处理,首先在本地缓存中查找对应的域名,找到后将IP地址直接返回,找不到就向其它的授权 服务器请求数据,又可以
阅读全文
摘要:DNS报文格式:该报文由12字节的首部和4个长度可变的字段组成。标识字段由客户程序设置并有服务器返回结果。16bit的标志字段 如下:QR:0表示查询报文,1表示响应报文Opcode:通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求)。AA:表示授权回答(authoritative answer).TC:表示可截断的(truncated)RD:表示期望递归RA:表示可用递归随后3bit必须为0Rcode:返回码,通常为0(没有差错)和3(名字差错)后面4个16bit字段说明最后4个变长字段中包含的条目数。问题部分:报文格式:查询名为要查找的名字,它由一个或者多个标示符序列组成
阅读全文
摘要:UniCode 下 CString 转 char* 的方法的文章有很多,但是大部分都是在互相转载,看了那么多资料,仍然没有解决乱码的问题,后来从一个论坛的一条回复里面找到了正确的方法,特此拿出来与大家分享。先总结一下网上找到的三种转换的方法:方法一:使用函数setlocale setlocale(LC_ALL,"chs"); 需要包含头文件#include <locale.h> 此方法的思路是配置地域化信息。通常在需要输入输出中文的时候设置一下,就没问题了,setlocale详情 点我方法二:使用函数:T2A、W2A CString str = _T("
阅读全文
摘要:#include "network.h"#include <iostream>#include <string>#include <vector>#include "pcap.h"#include <ntddndis.h>#include "packet32.h"using namespace std;struct packet_t{ ethhdr eth; arphdr arp; u_char pad[18];};int main(int argc, char **argv){ pca
阅读全文
摘要:1.获取设备列表:#include "pcap.h"main(){ pcap_if_t *alldevs; pcap_if_t *d; int i=0; char errbuf[PCAP_ERRBUF_SIZE]; /* Retrieve the device list from the local machine */ if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL /* auth is not needed */, &alldevs, errbuf) == -1) { fpri...
阅读全文
摘要:以太网ethernet代码/* This is an Ethernet frame header. */struct ethhdr { unsigned char h_dest[ETH_ALEN]; /* destination eth addr */ unsigned char h_source[ETH_ALEN]; /* source ether addr */ unsigned short h_proto; /* packet type ID field */};ARP头部/* ARP protocol opcodes. */#define ARPOP_REQUEST 1 /* ...
阅读全文
摘要:FTP命令是Internet用户使用最频繁的命令之一,不论是在DOS还是UNIX操作系统下使用FTP,都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令,可以大大方便使用者,并收到事半功倍之效。 FTP的命令行格式为:ftp-v-d-i-n-g[主机名],其中-v显示远程服务器的所有响应信息;-n限制ftp的自动登录,即不使用;.netrc文件;-d使用调试方式;-g取消全局文件名。ftp使用的内部命令如下(中括号表示可选项):1.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip.2.$macro-ame[args]:执行宏定义ma
阅读全文
摘要:最近在学网络编程,找到了国外一个开源的FTP服务器FileZilla server,可以研究研究源代码,当然开始时候应该要编译成功,下面给大家一个能够编译的版本,假设你已经在自己机子上安装了vs2010(也许vs2008也可以吧),下载下面的源代码,既然我们看的是开源软件源码,下载当然也是免费的,一起共享http://download.csdn.net/detail/hellosijian/4691680解压打开里面的工程,编译就可以,具体用法可以参看下面这篇文章,运行服务器后,可以直接在你的浏览器上输入 ftp:电脑IP便可进入 ,或者打开cmd命令行,输入ftp ip也可以进入http:/
阅读全文
摘要:常用网络端口简介TCP/UDP端口可分为3大类, 按端口号分:(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定(bind)于一些服务。通常这些端口的通讯明确表明了某种服务的协议。不可随意更改. 例如:80端口实际上总是HTTP通讯。 (2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024左右开始。(3)动态的(和/或)私有端口(Dynamic and/or Private Ports):从49152到65535。理论
阅读全文
摘要:// hello.cpp : 定义控制台应用程序的入口点。//#define WPCAP#define HAVE_REMOTE#include "stdafx.h"#include <iostream>#include <algorithm>#include <string>#include <vector>/** we do not want the warnings about the old deprecated and unsecure CRT functions* since these examples can b
阅读全文

浙公网安备 33010602011771号