`

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  
今天有幸拜读了一下胡哥的文章,文章写得清晰易懂,很是详细,以后必定常来,取些经文回去研究研究

相关推荐

    《Unity 5.x从入门到精通》配套光盘资源

    1. **Unity界面与基础操作**:通过配套资源,读者可以熟悉Unity的工作环境,了解项目设置、场景管理、对象创建和编辑等基本操作。 2. **游戏对象与组件**:资源包含各种游戏对象的模型、纹理和脚本,帮助读者理解...

    vue入门基础语法基本使用以及组件配置安装教程.zip

    以下是一个关于 Vue.js 入门基础语法、基本使用以及组件配置和安装的简要教程 1. Vue.js 基础语法和基本使用 数据绑定 指令 事件处理 2. 组件配置和安装 全局组件注册 局部组件注册 使用 Vue CLI 搭建项目并安装组件...

    Python3入门基础教程.pdf

    【Python3入门基础教程】 Python3作为一门易学易用的编程语言,是初学者进入编程世界的理想选择。本文档是一份整合了多种资源的个人学习笔记,旨在为已有编程基础的人快速掌握Python3,同时也适合作为无基础者的...

    新手入门.zip

    本压缩包“新手入门.zip”包含了多个关于网络技术的PPT教程,涵盖了从数据通信网络基础到网络编程与自动化的广泛内容,旨在帮助新手快速入门网络世界。 首先,我们从“01 数据通信网络基础.pptx”开始,这个部分...

    大学计算机文化基础课件

    6. 网络基础知识:介绍互联网的工作原理、浏览器的使用、搜索引擎的搜索技巧、电子邮件的收发、网络安全与隐私保护等知识,提升学生的网络素养。 7. 数据库基础:简要介绍数据库的概念,使用数据库管理软件(如...

    韩顺平.循序渐进学.java.从入门到精通--------java笔记完整版

    从入门到精通--------java笔记完整版》是一部全面深入学习Java编程语言的教程,由知名IT教育专家韩顺平精心编撰。这部笔记旨在帮助初学者逐步掌握Java的核心概念和技术,同时也适合有一定基础的开发者进行深入学习和...

    python入门及网络爬虫参考书籍

    标题中的“python入门及网络爬虫参考书籍”表明这是一份关于学习Python编程语言和网络爬虫技术的资源集合。这些书籍将引导初学者逐步掌握Python的基础知识,并深入到网络爬虫的实践应用中。 首先,让我们来看看...

    FLASH8基础入门教程

    《FLASH8基础入门教程》是一本专为初学者设计的教程,旨在帮助那些对Flash不熟悉,甚至是完全没有接触过这个软件的用户快速掌握基础知识。该教程以清晰易懂的方式,从最基本的界面操作入手,逐步引导读者进入动画...

    大学课程计算机入门基础知识

    6. **网络基础**:基础的网络概念,如TCP/IP协议、IP地址、子网掩码、DNS解析等,以及互联网的运作方式。 7. **软件应用**:教授如何使用常见的办公软件,如Word、Excel和PowerPoint,以及基本的文件管理技巧。 8....

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

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

    P.hotoshop_CC实战入门到精通视频教程第1章.zip

    本视频教程旨在引导初学者从零基础快速入门,逐步掌握Photoshop CC的各项核心功能,直至达到熟练运用的水平。 在“第1章”中,教程通常会涵盖以下基础知识: 1. **界面介绍**:首先,会介绍Photoshop CC的工作界面...

    基础篇2_基于ZYNQ的SOC入门基础

    ### 基础篇2_基于ZYNQ的SOC入门基础 #### ZYNQ与SOC基础知识 ZYNQ是一款由Xilinx公司推出的全可编程SoC(System on Chip,系统级芯片),它集成了高性能的ARM Cortex-A9处理器与可编程逻辑资源(FPGA)。这种设计...

    大学计算机基础教材

    6. 程序设计入门:讲解编程语言的基础,如变量、控制结构(条件语句、循环)、函数和数组。通过实例教学,引导初学者编写简单的程序。 7. 信息安全与伦理:探讨密码学、病毒防护、隐私保护等,强调良好的网络行为和...

    简要visual c++6.0入门

    1. **MFC 类层次结构**:MFC 类库遵循了一个清晰的层次结构,从顶层的基础类(如 CObject)向下扩展,形成了各种专门的类。这种结构使得开发者可以很容易地找到所需的类,并了解它们之间的关系。 2. **自定义类**:...

    Python基础入门教程 Python语言编程导论01 第一章 绪论 (共28页).rar

    在"Python基础入门教程 Python语言编程导论01 第一章 绪论"中,我们将探讨Python编程的基础概念,为后续深入学习打下坚实的基础。 首先,我们要了解Python的历史和应用领域。Python由Guido van Rossum于1991年创建...

Global site tag (gtag.js) - Google Analytics