java通信总结--第一篇

1. IP 地址

      每台机器都有一个独立的IP地址,用于在网络中标识一台机器的位置。

 

2. 端口号

      0~65535个,用于识别机器上的某一个程序。0~1024 为知名端口。端口是否打开,用telnet命令。

 

3. 常用网络命令

ping---用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息

ping 127.0.0.1——这个ping命令被送到本地计算机的ip软件,该命令永不退出该计算机。如果没有做到这一点,就表示tcp/ip的安装或运行存在某些最基本的问题。

ping 本机ip——这个命令被送到你计算机所配置的ip地址,你的计算机始终都应该对该ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的ip地址。

ping 局域网内其他ip

  ——这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将ip地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。

ping 网关ip

  ——这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。

ping 远程ip

  ——如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问internet(但不排除ispdns会有问题)。

ping localhost

  ——localhost是个作系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/windows/host)中存在问题。

ping www.????.com

  ——对这个域名执行ping命令,你的计算机必须先将域名转换成ip地址,通常是通过dns服务器 如果这里出现故障,则表示dns服务器的ip地址配置不正确或dns服务器有故障(对于拨号上网用户,某些isp已经不需要设置dns服务器了)。顺便说一句:你也可以利用该命令实现域名对ip地址的转换功能。

  如果上面所列出的所有ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。

ping命令的常用参数选项

  ping ip -t——连续对ip地址执行ping命令,直到被用户以ctrl+c中断。

  ping ip -l 2000——指定ping命令中的数据长度为2000字节,而不是缺省的32字节。

  ping ip -n——执行特定次数的ping命令。

netstat

  netstat用于显示与iptcpudpicmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

  如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,tcp/ip可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的ip数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。

netstat -

  能够按照各个协议分别显示其统计数据。如果你的应用程序(如web浏览器)运行速度比较慢,或者不能显示web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

netstat -e

  ——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

netstat -r

  ——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a

  ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(established),也包括监听连接请求(listening)的那些连接。

netstat -n

  ——显示所有已建立的有效连接。

netstat的妙用

  经常上网的人一般都使用icq的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的ip,就可以向他所属的isp投诉了。但怎样才能通过icq知道对方的ip呢?如果对方在设置icq时选择了不显示ip地址,那你是无法在信息栏中看到的。其实,你只需要通过netstat就可以很方便的做到这一点:当他通过icq或其他的工具与你相连时(例如你给他发一条icq信息或他给你发一条信息),你立刻在dos prompt下输入netstat -nnetstat -a就可以看到对方上网时所用的ipisp域名了。甚至连所用port都完全暴露了,如果你想给他一些教训,这些信息已经足够……

ipconfig

  ipconfig实用程序和它的等价图形用户界面——windows 95/98中的winipcfg可用于显示当前的tcp/ip配置的设置值。这些信息一般用来检验人工配置的tcp/ip设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主机配置协议dynamic host configuration protocoldhcp——windows nt下的一种把较少的ip地址分配给较多主机使用的协议,类似于拨号上网的动态ip分配),这个程序所显示的信息也许更加实用。这时,ipconfig可以让你了解你的计算机是否成功的租用到一个ip地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的ip地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。

最常用的选项

  ipconfig——当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示ip地址、子网掩码和缺省网关值

  ipconfig /all——当使用all选项时,ipconfig能为dnswins服务器显示它已配置且所要使用的附加信息(如ip地址等),并且显示内置于本地网卡中的物理地址(mac)。如果ip地址是从dhcp服务器租用的,ipconfig将显示dhcp服务器的ip地址和租用地址预计失效的日期(有关dhcp服务器的相关内容请详见其他有关nt服务器的书籍或询问你的网管),其输出信息见图6的下半部分。

  ipconfig /releaseipconfig /renew——这是两个附加选项,只能在向dhcp服务器租用其ip地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用ip地址便重新交付给dhcp服务器(归还ip地址)。如果你输入ipconfig /renew,那么本地计算机便设法与dhcp服务器取得联系,并租用一个ip地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的ip地址。

  如果你使用的是windows 95/98,那么你应该更习惯使用winipcfg而不是ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig相同,并且也提供发布和更新动态ip地址的选项 如果你购买了windows nt resource kitnt资源包),那么windows nt也包含了一个图形替代界面,该实用程序的名字是wntipcfg,和windows 95/98winipcfg类似。

nbtstat

  nbtstattcp/ip上的netbios统计数据)实用程序用于提供关于关于netbios的统计数据。运用netbios,你可以查看本地计算机或远程计算机上的netbios名字表格。

  常用选项:

  nbtstat -n——显示寄存在本地的名字和服务程序

  nbtstat -c——本命令用于显示netbios名字高速缓存的内容。netbios名字高速缓存用于存放与本计算机最近进行通信的其他计算机的netbios名字和ip地址对。

  nbtstat -r——本命令用于清除和重新加载netbios名字高速缓存。

  nbtstat -a ip——通过ip显示另一台计算机的物理地址和名字列表,你所显示的内容就像对方计算机自己运行nbtstat -n一样

  nbtstat -s ip——显示实用其ip地址的另一台计算机的netbios连接表。

net

  net命令有很多函数用于实用和核查计算机之间的netbios连接。这里我只介绍最常用的两个:net viewnet use

  net view unc——运用此命令,你可以查看目标服务器上的共享点名字。任何局域网里的人都可以发出此命令,而且不需要提供用户id或口令。unc名字总是以\\开头,后面跟随目标计算机的名字。例如,net view \\lx就是查看主机名为lx的计算机的共享点(见图15)。

net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户id或口令)。

 

 

 

4. TCPUDP

 

 

        面向连接的TCP

面向连接就是在正式通信前必须要与对方建立起连接。TCP是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次对话才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:我想给你发数据,可以吗?,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:可以,你什么时候发?,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:我现在就发,你接着吧!,这是第三次对话。三次对话的目的是使数据包的发送和接收同步,经过三次对话之后,主机A才向主机B正式发送数据。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

面向非连接的UDP协议

面向非连接就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。和发短信相类似,只需要输入对方手机号就可以发送消息。

UDP是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ使用UDP发消息,因此有时会出现收不到消息的情况。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值