
标准规范:TCP/IP
lin_style
俺是农民。
展开
-
阻塞和非阻塞的一点使用心得
在《unp》书上,stevent一开始的一个服务器小例子这样介绍到:一个TCP的服务器和客户端,客户端puts进行阻塞式的输入消息。暴露的问题是,当用户进行阻塞到puts输入时,对方的服务器关闭,那么用户可能发了一大断消息按下发送时,发现程序崩溃了。。阻塞的出现的另一种意义就是各司职。 最近在负责的一个项目中,需要频繁的进行TCP吞吐,我一时认为不需要什么阻塞,...2008-06-17 22:48:21 · 162 阅读 · 0 评论 -
tcpdump突然不打印抓包信息,只能偶尔抓几个
问题如下:之前网络用tcpdump用得好好的。为了赶做毕业设计,冲忙向公司请假了两天回学校。在宿舍网络用tcpdump却无法抓包。打印出来信息如下:[code="java"][root@localhost tcpdump-3.9.8]# tcpdump iptcpdump: verbose output suppressed, use -v or -vv for full protoc...2008-05-15 21:54:06 · 227 阅读 · 0 评论 -
看了几天libpcap,稍微归纳下
libpcap体现的不是捕捉技术上的难点,而是对细节的控制上,对跨平台代码的编写上,对过滤机制的优化上。因为做毕业设计缘故初次拿到了这个包,作为一个入门者来说突然变得不知所措。而且国内中文资料不多,又要面对着大堆的英文。一开始也是盲目的本着英文而去,通篇看了一个早上也没什么重点的结果。晚上看了个影片,讲到大象的命门是在脚筋,也就是支撑的地方。 很显然,我得先对接口的流动和他的数据结构有个了解。...2008-04-24 20:38:05 · 128 阅读 · 0 评论 -
一个FTP客户的简单的代码流程+简要总结分析
花了将近两天分析了一个1500行的FTP代码,又查阅了RFC文挡等。学习了很多东西。组长突然通知不用FTP了, :cry: :cry: 这里把FTP大概的一个SOCKET方式整理一下,以备以后学习使用总的来说流程就是:FTP分两个TCP连接,一个是控制流,一个是数据流命令流比如是登陆啊,帮助,退出啊之类的数据流进行数据的传输,使用的是另外的端口,如果不指定,默认用21。具...2008-04-11 16:15:40 · 90 阅读 · 0 评论 -
问题一例:UDP协议下发送多个数据报按大小体积收只收到一份
准备摆弄个文件传输,在收集资料时,遇到这样一个问题。描述大概如下:在UDP协议下,客户端向服务端发送2个以上数据包,结果服务端想通过大小不同来读取,但是都只收到一份。《TCP/IP》三卷第一卷有这么一个例子:关于UDP队列描述: 通常程序所使用的每个UDP端口都与一个有限大小的输入队列相联系。这意味着,来自不同客户的差不多同时到达的请求将由UDP自动排队。接收到的UDP数...2008-01-19 17:18:51 · 752 阅读 · 0 评论 -
[转]关于TCP/IP序列号生成方法的研究(一)
◆ 关于TCP/IP序列号生成方法的研究(一) 作者:黄兆勤 < hzq924@263.net > 日期:2001-6-12 [摘要] 这篇文章是从TCP/IP协议层一个广为人知的TCP Spoof攻击方法说起,深入地讨论伪随机数PRNG原理及其设计方法,其中,涉及了关于网络层协议,密码学,统计学,数学模型,随机数等一系列问题。本文假定读者已经具有一定的TCP/I...原创 2008-01-17 16:58:35 · 1032 阅读 · 0 评论 -
一些TCPDUMP语义分析(长期补充)
不断补充S SYN 同步序号F FIN 发送方完成数据发送R RST 复位连接P PSH 尽可能快地将数据送往接收进程. 以后四个标志比特均置0//////TCP:////////1 0.0 svr4.1037> bsdi.discard: S 1415531521:1415531521(0) win 4096 2...2008-01-17 01:10:24 · 159 阅读 · 0 评论 -
TCP/IP_UDP归纳
参考TCP/IP三卷第11章 UDP:用户数据报协议在这章中,提到了UDP,分片,和UDP服务器的特征。文章第一句话就指出,IP数据报分片,并不是发送端主机连接第一个网络才这么做,而是在源端到目的端之间每个网络都可能产生分片。最显著一个特征,不提供可靠性。UDP首部字段:16位UDP长度:这个长度指的是全长减去IP首部的长度。即,UDP首部和UDP数据的字...2008-01-10 16:36:32 · 98 阅读 · 0 评论 -
windows网络模型学习--WINDOWS和LINUX开发模型比较
windows网络模型学习--WINDOWS和LINUX开发模型比较以前在做LINUX网络开发时把用户层和系统的内核看成两个层面,看简单点就是用户层才能最简单,高效的取到数据;而内核层就是个终端的对象,可以从终端的被动转向主动。那么在进行网络I/O操作时有这么几种套路来传递数据:1。普通的recv,send.首先是用户亲自调用函数进到内核I/O空间查看是否有数据,根据是否有数据...2009-03-05 10:16:28 · 496 阅读 · 0 评论 -
原始套接字接收时犯的一个错误
[code="java"]if ( (nread = recvfrom( fd, ptr, nleft, 0, (sockaddr*)&m_addrSourceIp, &sizeSock) ) < 0)[/code][code="java"]int CSynScan::CheckSyn(const char* _buffPackag...2008-07-09 21:04:46 · 148 阅读 · 0 评论 -
详解大小字节序和构造raw包时的一些常见赋值
说是详解,实在是有愧。只不过是自己前段时间不理解,花费了点时间来总结下而已。因此此篇文章完全代表自己主观的观点^_^关于"大小字节序"方面的知识详见BLOG前一篇文章那么,先理清下在网络传输里这个字节序转换的过程。假设是一台小字节序的PC机,构造好包后,以大字节(即网络流)方式传输,接着达到终端。我一开始以为传输的时候把高低字节替换,其实不是,只是一个读取值的顺序不同而已。本着这个...2008-07-08 13:27:57 · 175 阅读 · 0 评论 -
断开连接时,time_wait状态的解释和验证
[img]http://lin-style.iteye.com/upload/picture/pic/16073/8f0b8c72-a1b2-3c14-87b4-a63cda96b15a.jpg[/img]time_wait状态的解释和验证:在TCP同步双工断开连接中,假设没有time-wait这个状态,那么在最后一个FIN N发送时,主动关闭方接到后,返回ack N+1.那么这个时候如果...2008-06-15 21:57:19 · 158 阅读 · 0 评论 -
做过libpcap开发的兄弟进,总要等到最后一个包到达了才能退出
遇到这样一个情况用pcap_loop进行循环抓包loop_break退出时,总要等到最后一个包到达了才能退出。应该不是程序库的问题,tcpdump都是好好的。是不是我用法用错了?好不容易再国外搜到一个类似的问题,但是作者却联系不到了。后来BUG找到原来是return 0和exit 0区别在优快云发的讨论帖http://topic.csdn.ne...2008-05-19 13:46:47 · 290 阅读 · 0 评论