`

1.网络基础入门简要

阅读更多

    得用QQ作为网络通信技术的代言人,它对我们都是再熟悉不过的即时通信工具。

    在QQ消息框中输入一段文字按下发送键后,这段文字就会出现在另一台电脑上你朋友的QQ中——我们就这里开始,分析这个过程这是如何实现的。如图1.1所示:

 
  1.1 网络信息发送与接收

  

    开始之前,你至少应该知道,每台机器都有一个IP地址,以便另外一台机器可以在网络上找到它,IP地址在网络中标识了一台机器。但是,当A机器与B机器通信时,其实是这两台机器上的程序在通信。A机器上的QQ_A如想与B机器的上QQ_B通信时,它还必须知道这个QQ_BB机器的哪个“端口上等待;就像你到别人家做客,只知道在第几幢是不行的,还得知道是几号——在计算机中,用“端口号”这个数字标识机器上需要通信的某一个程序。

     每一台机器都有从065535个端口号,其中的每一个数字,可供一个程序通信用。通常情况下0~1024的端口要尽量避免使用——我们称它为“知名端口”。例如打开网页时,连接的是服务器上的80端口,因为它是默认的,所以在浏览器地址栏不需要输入这个端口号。

要测试服务器上是否开放了某个端口,首先通过ping netjava.cn这个主机查看网络是否通畅。注意,ping命令使用ICMP报文工作在TCP层,ping只能证明网络是否通畅,即数据可否传送到指定主机,并不能证明主机上是否开放某个端口。1.2所示。

 
1.2 ping命令测试服务器

 

执行ping命令行,如果网络通畅,就可以使用telnet命令连接对方的端口,如果能连

接上,则证明对方的端口是打开的,如1.3示。


 
1.3 执行telnet命令

 

我们所测试的主机提供的是netjava.cn网站服务,那么它开放的肯定是默认的80端口。请在命令行输入“telnet  服务器ip地址  端口号”,回车后,你如果看到一个全黑的命令行窗口,如图1.4所示。

 

则证明你的机器已经连接上服务器的80端口,在这个黑窗口中随便输入几个字符,你会看到如图1.5示的结果。

 

这是因为服务器上的WEB服务与客户端通信使用的是HTTP协议,而我们随便发送的消息,服务器不能解析的,所以返回了错误说明,然后断开了与客户端的连接。

 

       事实上,我们的电脑里的程序无刻不在默默地与外界通信着,当然,也包含你机器上的木马和病毒程序。你现在肯定想知道自己的机器正在与哪些网络服务通信?这很简单:你可以在命令行输入netstat命令查看,常用的是输入netstat –an回车后,返回结果如图1.6示。

 1.6 使用netstat命令查看本机连接情况

 

    这个命令会打印出你的电脑与其他服务器建立的TCP连接或UDP连接信息。输出的数据分为4列,第1列说明连结协议是TCP还是UDP;第2列说明连接所使用的本地地址,由一个IP和端口组成;第3列说明目标机器的地址,也是由一个IP和端口组成,其中的0.0.0.0127.0.0.1指的是本地地址;最后列,是连接状态的说明,由于只有TCP协议是面向连接的,所以ProtoTCP的才有State说明。当StateLISTENING时,表示本地打开了端口,如图1.7所示。

1.7表示本地电脑打开了3306端口,但没有任何机器与这个端口相连。

 

1.8表示我们本地电脑上的1037端口与IP地址为219.133.48.109的机器上的80端口建立了连接——这是刚才执行telnet命令的结果。
 

1.8 netstat命令显示的一个已建立的网络连接

 

除了LISTENING表示端口已打开和ESTABLISHED表示连接已建立之外,其他状态如TIME_WAIT代表一种未知状态,如图1.9所示,一般指的是已断开的连接。netstat命令是网络程序员常用的工具,可以方便的查看出机器之间的连接信息。
 

1.9 一个已断开状态的连接

 

     不好意思,hello”是如何被发送到另外一台机器上的,在下一节介绍,并且让你实现!

                         

                              PS:1.JE贴图太头痛了

                                 2.新手得深读《TCP/IP协议详解》,就知这些内容多浅薄了:(

  • 大小: 18.9 KB
  • 大小: 7.4 KB
  • 大小: 884 Bytes
  • 大小: 4.1 KB
  • 大小: 7.1 KB
  • 大小: 6.2 KB
  • 大小: 455 Bytes
  • 大小: 589 Bytes
  • 大小: 558 Bytes
3
0
分享到:
评论
1 楼 郭广川 2010-07-29  
今天有幸拜读了一下胡哥的文章,文章写得清晰易懂,很是详细,以后必定常来,取些经文回去研究研究

相关推荐

    Web安全渗透测试基础入门篇视频.rar

    Web安全渗透测试基础入门篇001ppt WEB爆破口令工具实现原理解析.wmv WEB各个架构信息探针补充Wmv WEB各个架构信息探针实战wmv WEB目录文件扫描工具实现原理解析.wmv WEB伪造数据包进行XSS攻击演示wmv 基于S平台搭建...

    PT80-NEAT开发指南v1.1

    第二章 PT80 开发入门 .................................................................................................................................. 2 开发环境搭建 ....................................

    C#编程从基础到实践

    第1部分是C#编程基础,简要介绍c#与.NET的关系、C#开发及运行环境,以及C#的语言基础,包括数据类型与常变量、运算符和表达式、程序流控制等内容。第2部分介绍面向对象的c舟程序设计,内容包括面向对象的思想、类和...

    JSP入门基础教程-自学必备

    所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无Java Applet,甚至无Frame。 本文将介绍利用JSP技术开发动态网页的方法,还将简要...

    中国移动网优入门与提高指导书(绝对经典版)

    东方通信从事移动通信系统的网络优化,已经有多年经验。在GSM系统的网络优化方面积累了若干经验,同时在优化的理论方面也作了...附录二 小区参数简要描述……………………………………………………………………….62

    新手学ASP.NET 3.5网络开发 源码

    《新手学ASP.NET 3.5网络开发》是ASP.NET3.5 的技术入门书籍,体系完整,内容充实,以实例贯穿全书,全书包括入门基础、控件开发、数据库和文件操作、网站整体设计及课程实践5篇,全面介绍ASP.NET的开发基础,共23章...

    TCP/IP协议与网络编程技术

    第7章:介绍了网络程序设计有关的基础知识、一个网络程序入门实例和Winsock中编写网络程序常用的建立连接、传输数据、关闭连接等有关的函数。 第8章:介绍了TCP程序设计流程、基于C/C++的TCP程序设计实例和基于Java...

    入门学习Linux常用必会60个命令实例详解doc/txt

    要想真正理解Linux系统,就必须从Linux命令学起,通过基础的命令学习可以进一步理解Linux系统。 不同Linux发行版的命令数量不一样,但Linux发行版本最少的命令也有200多个。这里笔者把比较重要和使用频率最多的命令...

    KeyStone I DSP[C665x 与 C6678] 视频教程 2.9 - Hello LED! [启动及烧写].mp4

    本视频教程主要分为三部分,概述、基础入门、模块详解以及多核开发。概述部分主要对 C66x 核心及 DSP 处理器做简要介绍。基础入门部分以 Hello LED! 为例指导大家完成 DSP 开发的完整过程,使之从总体上对 DSP 开发...

    Ruby语言入门到精通

    全书分为三篇:第一篇介绍编程以及Ruby的基本概念,并用简单的例子快速引导...第三篇深入讲解Ruby on Rails 开发,以及怎么样用Ruby访问因特网和网络连接服务,最后还对大量非常有用的Ruby程序库和gem包作了简要介绍。

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    XML越来越热,关于XML的基础教程网络上也随处可见。可是一大堆的概念和术语往往让人望而生畏,很多朋友问我:XML到底有什么用,我们是否需要学习它?我想就我个人学习过程的心得和经验,写一篇比较全面的介绍文章。...

    光盘启动盘制作完全手册1.08

    由于有很多的光盘制作爱好者还处于入门阶段,对光盘的制作感到非常的迷茫,为了使更多的人尽快的走进制作光盘高手的行列,本人从各个光盘制作论坛以及一些网站收集了一些资料,整理成此册,本人精力有限,不能对全部...

    电源技术-信号完整性资料合集.zip

    信号完整性基础入门手册 信号完整性基础知识 电子书 信号完整性简介-II 信号完整性简介 信号完整性解决方案速查资料 信号完整性设计中的5类典型问题 信号完整性原理 于博士信号完整性分析入门-初稿 于博士信号完整性...

    ZigBee技术实践教程

    理论篇简要介绍了无线传感器网络和ZigBee协议规范的基础知识,为读者进行ZigBee项目开发提供理论指导,以便开发时参考;准备篇讲述了ZigBee硬件开发平台、软件开发环境的组成和安装,以及通过17个CC2430/31片内外设...

    空间数据系统-2004

    第2章 计算机网络技术基础 2.1 网络及其参考模型 2.2 数据链路层基本协议 2.3 介质访问控制子层 2.4 网络层基本协议 2.5 传输层基本协议 2.6 网络系统设计中应注意的问题 第3章 航天器遥测 3.1 PCM遥测系统

    60个Linux常用命令大全.pdf

    以下是对这份命令大全的简要介绍: 内容概要:该命令大全包括了60个常用的Linux命令,涵盖了网络管理、系统监控、文本处理、文件管理、进程管理等多个方面。每个命令都有解释和实际场景的应用示例,有助于读者理解...

    Qt Quick核心编程

    着力于QML语言基础、事件、Qt Quick基本元素,辅以简要的ECMAScript(JavaScript)语言介绍,使得读者能够快速熟悉Qt Quick的基本知识和开发过程;对于Qt Quick中的关键主题,如动画、Model-View、Component、网络、...

    PIC单片机C语言程序设计实例精粹

    全书共16章,首先简要介绍了PIC系列产品、硬件结构、C语言编程基础,以及常用开发工具,引导读者技术入门;然后精心选择了13个典型工程实例,以“设计思路分析+硬件电路设计+软件设计与程序注释”的主要形式,完整...

    Delphi7-程序设计与开发技术大全.pdf

    对于初学者,此书可以作为不可多得的Delphi 入门教程,对于有一定基础的中高级水平 的开发人员,本书也提供了关于Delphi 的新特点和使用方法,并提供了相应的实例,可以帮 助其快速提高开发水平。

    数据结构算法

    索引操作 8天学通MongoDB——第三天 细说高级操作 8天学通MongoDB——第二天 细说增删查改 8天学通MongoDB——第一天 基础入门 UML系列(4)团队沟通利器之UML——类图 团队沟通利器之UML—— 序列图 团队沟通利器之...

Global site tag (gtag.js) - Google Analytics