网络协议
文章平均质量分 76
hik_zxw
C++/Java程序员
展开
-
TCP/IP详解卷1 读书笔记:第一章 概述
ISO提出的OSI网络模型,只是理论上的模型,在与TCP/IP模型长达十多年竞争中,已处于劣势,从未被计算机和OS系统厂商实现和支持过。而TCP/IP模型是事实上的网络通信标准。 上面两图展示了TCP/IP模型中的分层结构,注意其中的区别(ICMP/IGMP、ARP/RARP的分类):左图的四层是以功能来划分的:链路层,实现物理层硬件特性的处理,通常包括设备驱动程序及网卡原创 2015-09-28 15:37:35 · 1181 阅读 · 0 评论 -
深入理解 Session 与 Cookie
转自:http://my.oschina.net/kevinair/blog/192829#OSC_h2_1摘要 Session 与 Cookie 不管是对 Java Web 的初学者还是熟练使用者来说都是一个令人头疼的问题。在初入职场时恐怕很多程序员在面试的时候都被问到过这个问题。其实这个问题回答起来既简单又复杂,简单是因为它们本身只是 HTTP 协议中的一个配置项,在转载 2015-12-15 12:45:14 · 1047 阅读 · 0 评论 -
TCP segment of a reassembled PDU
转自:今天利用windows查找功能对网络上的一个共享文件夹里的内容 进行查找,发现查找网络文件时流量巨大。好奇用wireshark抓包发现 wireshark Info栏里有很多“TCP segment of a reassembled PDU”提示信息。不解百度了一下发现大家都在询问这个问题网上并没有很好的解答。想到“TCP segment of a reassembled PDU”只转载 2015-12-15 17:33:44 · 1834 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:SSL协议
SSL(Secure Socket Layer),安全套接层,是一种加密协议,能加密的东西很多,不止Http,还可以是邮件,VPN等。即SSL可以加密Http协议、POP3协议、SMTP协议、VPN等。HTTPS(HTTP Over SSL),是用基于SSL加密的HTTP。SSL是私有加密协议。 TLS(Transport LayerSecurity),传输层安全,是公有加密协议。原创 2015-12-13 22:51:27 · 3867 阅读 · 0 评论 -
Winodws下绑定网关MAC的方法
Windows下绑定/解绑网关MAC地址的方法 在Win7之前的系统,使用arp命令进行绑定和解绑;在Win7及以后的系统,为了提高系统的安全性,采用了netsh命令进行绑定和解绑。以下分别来介绍(均通过CMD控制台来执行相关命令)。 一、Win7下绑定和解绑网关MAC1. 绑定(1) netsh i i show in,查看网卡对应的Idx原创 2015-11-30 16:34:01 · 3521 阅读 · 0 评论 -
TCP/IP详解卷1:第十一章 UDP用户数据报协议
引言传输层(TCP/UDP)的可靠性/不可靠性都是由网络层(IP)引起的。UDP的不可靠性,是由IP的不可靠性造成的。而TCP的可靠性,也只是其加入额外的控制,克服了IP的不可靠性。 UDP首部各16位的源目端口,用于标识程序程序。16位的UDP长度,U D P长度字段指的是UDP首部和UDP数据的字节长度。UDP长度字段的值最小为8(字节),包括8字节的UDP头部和0字节原创 2015-10-04 15:45:03 · 1845 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二章 链路层
链路层作用链路层主要有三个作用:(1)为I P模块发送和接收I P数据报;(2)为A R P模块发送 A R P请求和接收 A R P应答;(3)为R A R P发送R A R P请求和接收R A R P应答。总结为一句话:为上层协议提供服务。注:虽然ARP/RARP在功能上划分为链路层,但在实现上,其与IP层同一级别。 链路层数据抓包Wireshark抓的以太原创 2015-09-28 23:34:03 · 917 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第四章 ARP地址解析协议
引言设备驱动程序(链路层)从不检查IP数据报中的目的IP地址。链路层把以太网数据帧发送到另一台主机时,是根据MAC地址来发送的。而不是根据IP地址,因为IP地址是IP层使用的,而链路层不关心IP,只关心MAC地址。设备驱动程序不检查目的IP地址,而只关心Mac地址。网络层寻址(下一跳的地址)是根据路由表和目的IP地址;网络层找到下一跳的IP地址后,将该地址映射到MAC地址是链路层的原创 2015-10-01 22:28:31 · 800 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第七章 Ping程序
Ping程序 目的是为了测试另一台主机是否可达。该程序发送一份 I C M P回显请求报文给主机,并等待返回 I C M P回显应答。 以目前的网络程序,Ping不通,并不能代表网络是不通的。因为Ping可能在去往目的端的路途中防火墙过滤了。 利用Ping程序记录路由选项,是利用了IP数据包头中的可选项字段,最多只能记录9个路由信息。原创 2015-10-02 21:05:14 · 699 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第九章 IP选路
ICMP重定向报文当I P数据报应该被发送到另一个路由器时,收到数据报的路由器就要发送 I C M P重定向差错报文给I P数据报的发送端。只有当主机可以选择路由器发送分组的情况下,我们才可能看到 I C M P重定向报文。实际上是一种路由优化的功能。 1) 我们假定主机发送一份 I P数据报给 R 1。这种选路决策经常发生,因为 R 1是该主机的默认路由。2) R1收到数原创 2015-10-03 15:31:30 · 639 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第三章 IP网际协议
引言IP提供不可靠的、无连接的服务,其上层协议(TCP、UDP、ICMP、IGMP)都需要IP协议提供服务。如果发生某种错误,如某个路由器暂时用完了缓冲区,IP有一个简单的错误处理算法:丢弃该数据报,然后发送ICMP差错报文给源端。任何要求传输的可靠性必须由上层协议来实现(如TCP)。IP数据报及IP分片到达顺序都是未知的,因为每一个IP数据报和IP分片都可能通过不同的路由。原创 2015-09-30 11:16:09 · 828 阅读 · 0 评论 -
TCP连接异常终止(RST包)
转自:http://blog.csdn.net/ixidof/article/details/8049667TCP异常终止(reset报文)TCP的异常终止是相对于正常释放TCP连接的过程而言的,我们都知道,TCP连接的建立是通过三次握手完成的,而TCP正常释放连接是通过四次挥手来完成,但是有些情况下,TCP在交互的过程中会出现一些意想不到的情况,导致TCP无法按照正常转载 2015-12-03 23:14:47 · 29536 阅读 · 2 评论 -
TCP/IP详解卷1 读书笔记:第十七章 TCP 传输控制协议
TCP的服务TCP用于端到端的通信(一对一),无法用于通信的广播和多播(一对多)。T C P通过下列方式来提供可靠性:•应用数据被分割成 T C P认为最适合发送的数据块。这和 U D P完全不同,应用程序产生的数据报长度将保持不变。由 T C P传递给I P的信息单位称为报文段或段(s e g m e n t)•当T C P发出一个段后,它启动一个定时器,等待目的端确认收到这个报原创 2015-12-02 23:21:30 · 1197 阅读 · 0 评论 -
ARP表是在交换机上还是在路由器上?
转自:http://blog.chinaunix.net/uid-23886490-id-3042876.html二层交换机上是否有ARP表的讨论!? 众所周知,二层交换机属于层二设备,而层二设备的特点是不需要理解三层Ip及上层协议的。简单理解为:当一个数据包从交换机的一个接口接收时,它不会查看你的IP及上层协议用的是什么,但它会检查数据包(确切的说是数据帧)转载 2015-12-24 14:15:04 · 13009 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第十九~二十章 TCP交互数据流和成块数据流
TCP的交互数据流与成块数据流 交互数据流一般用于诸如远程登录程序等客户端的输入与服务器端输入与命令解析的回显等。如rlogin,telnet等,现在远程登录一般都用ssh安全方式代替。交互数据流总是以小于最大报文长度的分组发送。 交互数据流中一个问题就是小报文段传送的效率的问题(例如rlogin击键与远程端的回显),接收方采用时延来判断确认是否可以推迟发送,以减少报文段的数目。原创 2015-12-07 18:08:26 · 742 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第六章 ICMP 网际报文控制协议
引言ICMP是IP网络中的信令兵,查询和通报网络中的错误及异常等。I C M P报文通常被 I P层或更高层协议(T C P或U D P)使用。一些 I C M P报文把差错报文返回给用户进程,如Ping程序直接调用ICMP报文。 ICMP报文格式所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。不同类型由报文中的类型字段和代码字段来共同决定。最终可归结为两大类原创 2015-10-02 12:26:36 · 990 阅读 · 0 评论 -
穿透内网,连接动态ip,内网ip打洞-----p2p实现原理
转自:http://www.cnblogs.com/eyye/archive/2012/10/23/2734807.html网上找了很多,代码大堆,原理讲清楚透彻的不多。本人找几篇讲得好的来整理一下。一片技术文章,最主要的讲清楚原理,如果再有完整的能运行的源代码也可,关键是要把核心部分代码分析清楚。(1)问题的由来:大部分的电脑上网都是用动态ip转载 2016-04-07 15:07:20 · 1194 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第十八章 TCP连接的建立与终止
TCP连接的建立和终止(三次握手和四次分手)发起连接(报文段1)的一方是主动打开,接受连接(报文段2)的一方是被动打开。其中,双方的序号(ack)的初始值(ISN)都是根据自身主机的时钟随机生成的,这也可以在一定程度上防止通信数据被伪造。无论是建立连接还是终止连接,都会消耗一个序号,这从SYN包中seq值及对SYN应答包中的ack值、FIN包的seq值及对FIN应答包中的ack原创 2015-12-03 23:35:54 · 944 阅读 · 0 评论 -
Http Cookie/Session机制详解
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。本章将系统地讲述Cookie与Session机制,并比较说明什么时候不能用Cookie,什么时候不能用Session。1.1 Cookie机制转载 2015-12-14 21:52:53 · 1509 阅读 · 0 评论 -
Http中Set-Cookie
只有客户端才能设置Cookie,服务端若想让客户端增加一个Cookie项,需要在应答时,在Http头部中,通过使用Set-Cookie,将要设置的Cookie项发送给客户端。这样客户端,在下次访问时,会带上该Cookie项。以下转自:点击打开链接完整的Set-Cookie 头 转载▼根据Netscape cookie草案的描述转载 2015-12-14 19:59:00 · 18619 阅读 · 0 评论 -
Netcat简介
FROM: 点击打开链接NetCat是一个非常简单的Unix工具,可以读、写TCP或UDP网络连接(network connection)。它被设计成一个可靠的后端(back-end) 工具,能被其它的程序程序或脚本直接地或容易地驱动。同时,它又是一个功能丰富的网络调试和开发工具,因为它可以建立你可能用到的几乎任何类型的连接,以及一些非常有意思的内建功能。NetCat,它的实际可运行的名字叫n转载 2015-09-29 18:16:44 · 4275 阅读 · 0 评论 -
网络通信中字节序转换问题
网络通信中字节序转换问题数据包组装过程(发送数据前)中,需将协议头(以太网对、IP头、ARP头、UDP头、TCP头等)中各字段,由主机序转为网络序。数据包拆解过程(数据包递交应用前)中,需将协议头中各字段,由网络序转为主机序。注意:1. 转换以协议头中的字段为单位,针对协议头中的每个字段,进行字节反转,即反转以字节(byte)为单位,而非以字节中的位(bit)为单位。因此,原创 2015-11-03 22:51:10 · 2121 阅读 · 0 评论 -
TCP粘包,UDP不存在粘包问题
有关TCP和UDP 粘包 消息保护边界from: http://www.cnblogs.com/lancidie/archive/2013/10/28/3392428.html在socket网络程序中,TCP和UDP分别是面向连接和非面向连接的。因此TCP的socket编程,收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方转载 2015-09-12 21:01:25 · 19904 阅读 · 1 评论 -
TCP/IP详解卷1:第十二章 广播和组播
引言IP地址分为三类:单播、广播和组播。其中,广播和组播只适用于UDP(因为TCP是端对端的连接,无法实现一对多)。单播,一对一,目的地址是单个主机;广播,一对全部,目的地址是局域网中的全部主机;多播,一对部分,目的地址是局域网中的部分主机;广播也是多播的一种特殊形式,即目的地址为全部主机。 如果网卡收到一个帧,如果帧检验和错,网卡将丢弃该帧;如果无错误,这个帧将被传送给设原创 2015-10-04 22:44:12 · 1151 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第八章 Traceroute程序
Tracerote程序的操作Tr a c e r o u t e程序只需要目的端运行一个U D P模块,其他不需要任何特殊的服务器应用程序。(实际实现中,服务端只要运行TCP/IP协议栈即可,并不需要任何其他的附加程序。而发送端,只是运行Traceroute的客户端)Tr a c e r o u t e程序使用I C M P报文和I P首部中的T T L字段(生存周期)。 T T L字段是原创 2015-10-03 10:11:27 · 834 阅读 · 0 评论 -
TCP/IP详解卷1:第十四章 DNS 域名系统
引言域名系统( D N S)是一种用于 T C P/ I P应用程序的分布式数据库,它提供主机名字和 I P地址之间的转换及有关电子邮件的选路信息。域名系统内两部分组成:名字服务器和解析器。其中,名字服务器是指DNS服务器,缓存域名和IP地址的映射关系;名字解析器,指的是DNS服务所提供的一组API,可供其他应用程序调用,通过这些调用来实现域名和IP地址的相互转换。DNS协议是应用层协原创 2015-10-06 19:36:00 · 976 阅读 · 0 评论 -
局域网主机间发包细节
一直有一个疑问:局域网的主机之间是如何将数据包发出去的 ? 求细节。 我目前的真实网络环境:路由器(家用)的IP地址为192.168.1.1;主机A地址192.168.1.100;主机B地址192.168.1.102; 主机A的路由表: 主机A的arp表: 当主机A来ping主机B时,数据包是怎么发送到B的呢?先说说我的理解:因为主机A与网络通信只有原创 2015-10-01 10:44:56 · 4040 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二十二章 TCP坚持定时器
坚持定时器解决的问题发送端不断往接收端发送数据,但是是快的发送和慢的接收文,导致接收方接收窗口很快就满了,发送方收到接收方通告窗口大小为0(第8个报文)。随着接收方应用程序不断地提取数据,接收方的接收窗口增大,可以再接收报文了。于是接收方向发送方发送了第9个报文,告诉发送方我的接收窗口为4096,现在又可以接收数据了。在TCP协议中,只会对数据包进行超时重传,但对ACK包并没有任何原创 2015-12-10 15:47:59 · 591 阅读 · 0 评论 -
手工实现ARP中间人攻击
http://support.huawei.com/ecommunity/bbs/10170857.html 手工实现ARP中间人攻击本文档针对已学习了解ARP原理及理解ARP报文结构中各个字段意义的同学。网络环境如下图: 下面由我来讲解如何进行全手工的ARP中间人攻击,之所以不用全自动的工具,是为了让大家理清思路,所谓授人以鱼不如授人以渔! 中间人欺骗思转载 2015-11-18 09:14:15 · 4920 阅读 · 1 评论 -
TCP/IP详解卷1 读书笔记:第二十三章 TCP保活定时器
引言如果T C P连接的双方都没有向对方发送数据,则在两个T C P模块之间不交换任何信息。这意味着我们可以启动一个客户与服务器建立一个连接,然后离去数小时、数天、数个星期或者数月,而连接依然保持。中间路由器可以崩溃和重启,电话线可以被挂断再连通,但是只要两端的主机没有被重启,则连接依然保持建立。该情况容易出现半打开连接,即连接正常建立后,一方突然崩溃,而另一方无法得知。 保活并不原创 2015-12-11 18:13:36 · 559 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二十一章 TCP超时与重传
TCP的4个定时器T C P提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。 T C P通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。只有数据设置有超时重传定时器。ACK无该定时器。 对每个连接, T C P管理4个不同的定时器。1) 重传定时器,发送数据端(非发送ACK端),每原创 2015-12-09 17:20:25 · 1323 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二十七章 FTP协议
FTP是数据传输主流协议。它采用两个信道(两个TCP连接)进行传输。第一信道,控制信道,无论何时都是由客户端发起连接。采用客户端服务器模式。服务端监听21端口。用于控制命令的传输。第二信道,数据信道。根据数据信道是否由服务端发起,区分ActiveMode和PassiveMode。 TCP的知名端口号(服务端的监听端口),21号,是控制信道的端口。 第一信道,主要任务就是原创 2015-12-13 20:51:21 · 1552 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:HTTP协议
HTTP介绍 哑服务器,是指连接上服务器而不输入HTTP的8个命令,服务器不会响应任何信息。而一般的服务器,如FTP,连上之后会有一个欢迎信息。HTTP服务器连上之后,不会有欢迎信息,不会主动跟你打招呼。 命令: nc www.126.com 80 回车后,即连上了服务器,但服务器未返回任何信息。接着输入命令: GET /(获取HTTP服务器原创 2015-12-13 22:34:54 · 1933 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二十六章 Telnet协议
Telnet不安全,明文传输,交互式数据流。 当连接到Telnet服务器后,如 telnet www.baidu.com 80,这时会跳转到Telnet客户端界面,这时在界面上输入字母,界面会显示该字母。这个字母的显示不是本地通过键盘直接输入上去的,本地键盘键入一个字母(如‘a’),Telnet客户端会将该字母发往服务端,服务端收到该字母后,会将该字母回写给客户端(即原样发回),客原创 2015-12-13 17:20:41 · 831 阅读 · 0 评论 -
TCP/IP详解卷1 读书笔记:第二十八章 SMTP和POP3协议
SMTP,发件,25号端口。POP3,收件,110号端口。 SMTP协议 --- 发件 先找别名,再根据别名查IP,然后发邮件。 参考:http://blog.csdn.net/hik_zxw/article/details/48636951 POP3--- 收件POP3, 110号端口。原创 2015-12-13 21:15:29 · 1525 阅读 · 0 评论 -
路由器与交换机的工作原理
注:文中内容多是自身理解,错误之处,欢迎指正。路由器路由器(指纯路由器,不包含交换机的功能,以下同)的功能是是网络层转发,它工作在三层(网络层/IP层)。当收到一个数据包后,需要进行转发。转发的原则就是根据数据包IP头部中的目的IP地址,与路由表中每一条记录的子网掩码列进行与操作,并将操作结果与该条记录中网络地址列进行比对,按最长匹配原则进行转发;如所有都不匹配,则转发至默认路由。通常都会原创 2015-11-26 23:12:23 · 1827 阅读 · 0 评论 -
NAT穿透的详细讲解及分析
转自:http://bbs.pediy.com/thread-131961.htm一、什么是NAT?为什么要使用NAT?NAT是将私有地址转换为合法IP地址的技术,通俗的讲就是将内网与内网通信时怎么将内网私有IP地址转换为可在网络中传播的合法IP地址。NAT的出现完美地解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。转载 2017-05-19 18:41:32 · 1155 阅读 · 0 评论