网络编程
luckywang1103
每天多一点思考
展开
-
unix网络编程环境搭建(有关unp.h头文件)
最近在学习Unix网络编程(UNP),书中steven在处理网络编程时只用了一个#include “unp.h” 相当有个性并且也很便捷于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发环境的搭建吧,顺便把过程记录下来,以便自己以后查阅。首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆,或者在图灵社区搜索unix网络编程,将源码直接下下来。解压缩到你的某个原创 2012-12-05 21:03:42 · 1278 阅读 · 0 评论 -
libpcap - 编译
实验环境:ubuntu14.04 下载libpcap:http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz第一步 ./configure 执行sudo apt-get install flex解决问题第二步 make 执行sudo apt-get install byacc解决问题第三步 sudo make install 头文件与库原创 2017-04-11 16:56:35 · 2445 阅读 · 0 评论 -
linux socket断开网络连接程序终止
当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默认执行动作是terminate(终止、退出),所以client会退出。 若不想客户端退出可以把 SIGPIPE设为SIG_IGN 如:转载 2016-04-14 10:16:59 · 2805 阅读 · 0 评论 -
socket编程小问题:地址已经被使用——Address already in use
很多socket编程的初学者可能会遇到这样的问题:如果先ctrl+c结束服务器端程序的话,再次启动服务器就会出现Address already in use这个错误,或者你的程序在正常关闭服务器端socket后还是有这个问题。正如下面的这段简单的socket程序。 server.c[c-sharp] view plaincopy转载 2013-06-19 20:44:14 · 1590 阅读 · 0 评论 -
结构体对齐
数据结构中的数据变量是按定义的先后顺序来排放的,第一个数据变量的起始地址就是数据结构的起始地址。结构体的成员变量要对齐排放,并且结构的长度必须为成员中自身对齐值最大的那个值的整数倍,不够就补空字节例子分析:分析例子B:struct B{ char b; int a; short c;};假设B从地址空间0x0000开始存放,char类型1个转载 2013-05-01 12:46:30 · 700 阅读 · 0 评论 -
对lippcap获取的数据包进行分析(入门级)
作者:rainfish出处:http://blog.csdn.net/bat603/经过几天的突击,终于明白了怎样在局域网内抓包,这可是我多年来的梦想。首先说说我的学习过程,一开始从网上搜索了关于sniffer大量资料,大致学会了,可是仔细分析结果发现,都是本机上的数据包,而不是整个局域网的。于是又查资料,在 linuxsir上有高人指点,说,现在局域网内都是交换机联接,而不是以前的Hub转载 2013-01-03 14:26:42 · 849 阅读 · 0 评论 -
网络编程之ioctl函数
1.介绍Linux网络程序与内核交互的方法是通过ioctl来实现的,ioctl与网络协议栈进行交互,可得到网络接口的信息,网卡设备的映射属性和配置网络接口.并且还能够查看,修改,删除ARP高速缓存的信息,所以,我们有必要了解一下ioctl函数的具体实现.2.相关结构体与相关函数#include int ioctl(int d,int request,....);参数:d转载 2013-01-01 15:30:13 · 913 阅读 · 0 评论 -
libpcap分组捕获函数库使用
libpcap使用libpcap是一个网络数据包捕获函数库,功能非常强大,Linux下著名的tcpdump就是以它为基础的。今天我们利用它来完成一个我们自己的网络嗅探器(sniffer)首先先介绍一下本次实验的环境:Ubuntu 11.04,IP:192.168.1.1,广播地址:192.168.1.255,子网掩码:255.255.255.0可以使用下转载 2013-01-02 21:00:00 · 1589 阅读 · 0 评论 -
非阻塞connect学习
下文适用于Linux平台转自:http://kenby.iteye.com/blog/1183579步骤1: 设置非阻塞,启动连接实现非阻塞 connect ,首先把 sockfd 设置成非阻塞的。这样调用 connect 可以立刻返回,根据返回值和 errno 处理三种情况:(1) 如果返回 0,表示 connect 成功。(2) 如果返回值小于 0, errno 为 EIN转载 2013-01-01 13:12:03 · 620 阅读 · 0 评论 -
tcp与udp缓冲区大小总结
1.tcp收发缓冲区默认值 [root@localhost /]# cat /proc/sys/net/ipv4/tcp_rmem4096 87380 419430487380 :tcp接收缓冲区的默认值 [root@localhost /]# cat /proc/sys/net/ipv4/tcp_wmem4096 16384 4194304163原创 2012-12-30 13:43:13 · 8841 阅读 · 0 评论 -
字符编码和中文乱码
记得刚使用ubuntu的时候,处理各种乱码神马的都是很麻烦的事情,后来开始写一些web程序的时候,中文编码的问题还是会不断的出现,于是对于web程序员来说,字符集编码已经是十分常见的问题了,但是如果不去系统的了解下,处理问题时还是会有些棘手的,这篇文章我就打算简单的介绍下这些问题。最初学习计算机的话,首先接触的便是ASCII编码了,0是48,a是97啥的估计大家都记得很清楚吧,计算机中以8转载 2012-12-30 11:42:29 · 51012 阅读 · 0 评论 -
syslog函数和syslogd守护进程
1、syslog简介 syslog是一种工业标准的协议,可用来记录设备的日志。在UNIX系统,路由器、交换机等网络设备中,系统日志(System Log)记录系统中任何时间发生的大小事件。管理者可以通过查看系统记录,随时掌握系统状况。UNIX的系统日志是通过syslogd这个进程记录系统有关事件记录,也可以记录应用程序运作事件。通过适当的配置,我们还可以实现运行syslog协议的机器间通信,通转载 2012-12-31 12:27:30 · 6220 阅读 · 0 评论 -
linux下sniffer程序的实现
作者:Gianluca Insolvibile整理:Seal(永远的FLASH)出处:http://www.nsfocus.com日期:2003-04-02原文地址:http://www.cnblogs.com/rollenholt/articles/2585432.html嗅探——Sniffer技术是网络安全领域里一项非常重要的技术!对于“Hacker”来说,他们可以以非转载 2012-12-26 13:56:03 · 1135 阅读 · 0 评论 -
网络编程常用端口号
计算机常用端口一览表:1 传输控制协议端口服务多路开关选择器 2 compressnet 管理实用程序 3 压缩进程 5 远程作业登录 7 回显(Echo) 9 丢弃 11 在线用户 13 时间 15 netstat 17 每日引用 18 消息发送协议 19 字符发生器 20 文件传输协议(默认数据口) 21 文件传输协议(控制) 2原创 2012-12-24 20:53:07 · 1944 阅读 · 0 评论 -
libpcap - 入门
loopupdev#include <pcap.h>#include <stdio.h>int main(){ char err_buf[PCAP_ERRBUF_SIZE], *device; device = pcap_lookupdev(err_buf); if (device) printf("success: device: %s\n", devic原创 2017-04-13 19:50:25 · 744 阅读 · 0 评论