(完整版)ping命令大全.docx

合集下载

Ping命令大全

Ping命令大全

Ping命令大全如何加强班级管理dos命令大全2010-05-11 17:12:50| 分类:技术文摘| 标签:|字号大中小订阅一、DIR 命令的格式:dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h](1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件)attrib[:][h/-h]只显示隐含文件或非隐含文件.[r/-r]只显示只读文件或非只读文件[s/-s]只显示系统文件或非系统文件[a/-a]只显示要归档文件或非归档文件(2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前/o[n/-n]:按字母顺序或按文件名顺序/反向显示[e/-e]:按扩展名字母顺序/反向显示[d/-d]:按时间顺序/反向显示[s/-s]:按大小从大到小或/反向显示[g/-g]:按子目录先于文件或文件先于子目录(3)/s 参数:对当前目录及其子目录中所有文件进行列表列名:dir /s/a/o:n c:\>PRN将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出(4)/B 参数:将只显示文件名与扩展名(5)/L 参数:将全部用小写字母对文件或子目录进行列表训练:dir /a 列当前目录所有文件(含隐含及系统文件)dir /ah 列隐含文件(包含子目录(隐含的) dir /a-hdir /as 列系统文件dir /a-sdir /ad 列子目录dir /a-ddir /o 按字母顺序dir /B 只显示文件名与扩展名二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s]缺省attrib name 显示文件的(文件)属性attrib io.sys (或子目录)shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件也可以attrib *.sys 显示扩展名为sys的文件属性参数[+r|-r] 将文件属性设置或解除只读属性[+a|-a] 将文件属性设置或解除归档属性[+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用)/s 参数将当前及当前子目录下的所有文件均起作用可以用来查找文件例子:attrib news86 列news86的文档属性attrib +r report.txt 设置为只读attrib -s -h record.txtattrib +a a:*.*attrib -a a:*.bakxcopy a: b: /a 将A盘上的所有标志为"归档"属性的文件拷到B盘xcopy a: b: /m 将A盘上的所有文件拷到B盘后并移去归档属性三、cd 介绍: cd...返回上二级目录"."代表当前目录"."代表父目录cd ..\..返回到上级目录的父目录(祖目录)cd A:\ 将A盘的当前目录改为根目录cd A:\xx 将A盘的当前目录改为子目录xx下cd ..\98 先返回父目录,再进入父目录下的98子目录cd ..返回到父目录cd\98 进入根目录下的98子目录四、copy [/y][/-y][/v][ /B]copy /y 不加提示,对所有文件加以覆盖/-y 加以提示,对所有文件(yes或no提问)/v 拷贝以后加以校验/B 按二进制进行显示copy w1.wps con/b 可以将wps文件在屏幕上显示,而不必进入wps状态copy ..\98 将父目录下的98子目录下的所有文件全拷到当前子目录copy .\97 当当前目录下的97子目录下文件全部拷到当前目录copy . c:\ 将当前目录下的所有文件拷到c盘根目录. 意味着*.* 文件copy nul a.abc 将a.abc 文件清空(文件长度改为0)copy 文件名+con 向文本文件中追加命令或内容copy con 文件名创建文本文件(F6存盘退出)copy con prn 检测打印机的开关五、xcopy命令xcopy [source] [d:date] [/p] [/s] [/e] [/v] [/y]xcopy [d:date] xcopy a:b:\ /d:08/18/98/s/v 拷贝98.08.18年后的文件xcopy [/p] 提示创建子目录xcopy [/s] 连带子目录一起拷贝. 注意:若目标盘上不存在此子目录,而在目标盘的结束符又不以"\"为结束,则将提示:does destination specify a file name or directory name on the target[f=file,d=directory]?在目标盘上创建文件[按下]还是创建子目录[按下d] ?应选择d键xcopy[/v] 带较验*:(1) xcopy 不拷贝系统和隐含文件,应先予以修改属性再拷贝xcopy [/y] 覆盖时是否有提示, /y 不带提示若省略目标盘或子目录名,则拷贝到当前目录下六、del /p加/p 可以在删除前是否提示如del后加子目录名,则将子目录下所有文件(隐含.系统.只读文件除外)全删除, 加/p则可以确认.七、undelete [name] /au不加提示地将所有满足条件的文件恢复(能够恢复的),并将首字母置成"#",若已存在,则按"# % & 0 1 2-9 a-z"顺序加上.如:undelete *.dbf/au 将扩展名为"dbf"的文件全恢复,并以"#"开头,作为文件名, /list 仅列出可恢复的文件,而不恢复undelete /load 将undelete装入内存/unload 将undelete卸出内存/s[drive]对指定驱动器进行监测管理undelete/sc将undelete驻留内存,?并创建一个隐含的sentry 子目录对c盘删除的文件进行管理undelete/ds 恢复相应恢复命令可以用undelete即可完整恢复出文件名(非常完整)最常用undelete *.*deltree /y [drive:path]deltree 删除子目录及文件,尽管有些文件是系统文件或隐含文件它可以带有通配符,带有通配符时,它将删除符合条件的文件及子目录如:?undelete *.dbf/au 将扩展名为"dbf"的文件全恢复,并以"#"开头作为文件名./list 仅列出可恢复的文件,而不作恢复操作.undelete/load 将undelete 装入内存./unload将undelete 卸出内存./s[drive] 对指定的驱动器进行监视管理.undelete/sc 将undelete 驻留内存,并创建一个隐含的sentry子目录对C盘删除的文件进行管理.相应恢复命令可以用undelete/ds 即可完整恢复出文件名(很完善). 最常用的是undelete *.*八、deltree /y [drive:path]deltree 删除子目录及文件,尽管有些文件是系统或隐含的.它可以带有通配符,这时它将删除符合条件的文件或子目录.如:存在L1文件,L2子目录,L3文件,L4子目录deltree L*.* 将删除以上所有的文件和子目录,但在删除前加以确认,若不删除,可以输入"N"./y 参数是在删除时不加以确认就进行操作的.它删除的文件可以用undelete恢复,?但不能恢复子目录及其下的文件,可以用特殊工具.如NORTON 8.0 等.若提前使用了undelete/s,?则可以在sentry子目录下找到完整的文件,但名已经改变了.九、dos=high[|low[umb|noumb]]dos=high,umb 则dos将自身装入高端内存(high)并能管理上位内存(umb).noumb 则不管理上位内存.在写入dos=high及umb 前应装入device=himem.sys为了将程序或驱动程序装入上位内存,必须使用dos=umb,可省出大部分常规内存.可以在config.sys的任何位置写上dos=high,umb若显示hma not avoiable 或load down low 则表明不能使用高端内存.十、doskey 记录以前敲过的dos命令,可以用F7来显示,用"↑↓"来选择,用F9来输入选择的命令号.doskey/restall 重新装入一次,以前的命令行撤消.doskey/history 显示内存中所有的命令,可以">"显示到其它文件中,缩写"/H".doskey dir=cls 则击入dir等同于cls一样.doskey/macros 可显示所有的宏定义,可使用">"重定义到文件中,可缩写"/M". doskey dir= 可撤消对dir 的宏定义.doskey p=dir$tdir*.exe/p$tdir c:\t$tdir c:\t$*$t为命令的区分符,而$*为命令的结束符doskey/insert(overstrike)?在重新输入命令时,对旧命令的修改是插入还是覆盖状态(默认).十一、emm386.exe提供对扩展内存的管理,使应用程序象使用常规内存一样能够使用它.常见的用法是在config.sys 中device=c:\dos\himem.sysdevice=c:\dos\emm386.exe ramd=64 将DMA 内存数量设置为64Knoems 提供对上位内存的访问,但不提供对扩展内存的访问.应注意的是在windows中最好不要用它,因为windows本身有对扩展内存进行管理的程序.应采用windows中的管理器.十二、fc 命令fc/b dt.dat dt2.dat>b (作二进制代码比较)比较两个文件,一般用作存取进度,修改游戏存储文件用.实际代码位置应加上0100 如:0000 05E4:00 67实际用debug -e 修改时应加上0100 即0000 06E4:00 67后面加上重定向文件">P" 可以将比较结果输出到p文件中.十三、format /q /u /s /n:sectors /f:size /c/q参数:快速格式化,仅扫描文件分配表和根目录区,仅对格式化过的磁盘有效.使用时应确保格式化过后没有增加新的坏道./u参数:无条件格式化,并且不保存原来盘上的信息,可以防止"unformat"./s参数:格式化为系统盘,也可以使用"sys"命令./f:size size 可以为160 180 320 360 720 1200 1440 2800/n:sector n可以为1 格式为单面盘,容量为160k 180k可以为4 可以在5寸高密驱动器上格式化360k磁盘可以为8 可以在5寸高密驱动器上进行8个扇区的格式化./c 重新测试坏扇区,缺省时如果一个扇区标记为"坏",以后格式时就不在从新测试,仅作标记,使用"/C"时可以从新测试.十四、unformat 命令对用format 格式过,且未用"/u"参数的命令起作用,用它可以来重新修复已经损坏的硬盘分区表,但对网络盘不起作用.unformat drive:[/l][/test][/p]/l 显示每一个被unformat发现的文件和子目录,如果没有这个开关,只显示那些破碎的文件和子目录,可以用ctrl+s 暂停,按任意键继续./test 仅作一个测试,不作实际的修复工作,作模拟过程./p 一边测试一边打印.注:这种方法不能保证修复所有的文件,尤其是格式化后又添加过数据的磁盘.恢复后的文件依次存放在s?ir1....2....3等子目录中.十五、interlnk 语法interlnk g=e ,它可以通过串口或并口在两机间进行通讯.将服务器端上的e驱动器映射为客户端的g驱动器,以后对客户端而言,所有对g的操作都意味着对服务器的访问,取消映射的办法为interlnk g=单独输入interlnk 则显示所有的映射情况.注意:interlnk 必须在装入interlnk.exe 设备驱动程序才可以使用.所用的驱动器符号与config.?sys中lastdrv.exe设置的数目有关.可以作一个一端为25针,另一端为9针的串行线实现,具体接线方式如下:5 - 7 2 - 153 - 2 3 - 137 - 4 4 - 126 - 6 5 - 103 - 3 6 - 118 - 5 15 - 24 - 20 13 - 39针25针12 - 410 - 511 - 625 - 2525针25针十六、interlnk.exe 与intersvr.exeinterlnk.exe 重新定向对于客户驱动器或打印接口的请求到另外的服务器驱动器或打印机.语法:config.sys 中加入:device=c:\dos\interlnk.exe [drive:n][/noprinter][com][lpt]十七、memmaker[/b][/batch][session][/swap:drive]使用memmaker能够优化内存配置,?并将配置写入autoexec.bat和config.sys中. 在这一过程中,需要重新启动几次机器.十八、memitem memcolor memdefault s menu 菜单选项incl?autoexec.bat 中如下: config.sys中如下:path c:\dos;c:\?os [menu]doskey men olor=15,1(前景色15,背景色1)\mouse\mouse menuitem=base_config,this is a basegoto %config% ->选择项menuitem=cced_config,this is a cced选项提示:base_config men?fault=base_config,5goto exit ->跳出缺省为base_config,延迟时间5秒:cced_config [common]c:\dos\smartdrv.exe /l device=c:\dos\himem.sysgoto exit 各项都包含的共同部分:exit ->结束[base_config]device=c:\dos\emm386.exe ramdos=high,umb[cced_config]device=c:\dos\smartdrv.exe/do le_b?rincl?=base_config 包含base_config设置可以根据计算机的在不同情况下的配置要求来选择.十九、mscdex.exe 提供对光驱进行读写的程序mscdex/d:drive [/D:drive][/e][/k][/s][/l:letter]典型:config.sys 中device=c:\cdrom\cdrom.sys /d:mscd000autoexec.bat中c:\dos\mscdex /d:mscd000 /l:g配置了一个光驱,符号为g参数/d:drive1为光驱身份号,须与config.sys中的符号一致,可有多个/d:mscd000 /d:mscd001/e:使用扩展内存装入光驱驱动程序./s:使光驱在ms_net或windows是否设置为共享光驱/V是否在加载时显示内存./L:letter 分配给光驱的盘符/m:number 指定缓冲器的数目应该注意的是:?如果用smartdrv.exe 加速对光驱的读写能力,应该在autoexec.bat中将mscdex.?exe 写在smartdrv.exe 之前,smartdrv.exe的使用可大幅提高对驱动器的读写能力.二十、msd的使用使用msd 可以整体检查计算机配置及系统信息包括:?驱动器参数,计算机cpu参数,内存大小参数,显示器类型,串.并口情况,以及各个IRQ占用情况,据此可以分析新增设备是否与原来设备有冲突.同时也可以通过分析内存驻留程序,判断内存中是否有病毒,有则标为"???".二十一、prompt dos提示符$q 等于号$t 当前时间$d 当前日期$p 当前驱动器符号$$ $号提示$n当前驱动器$g 大于号$l小于号$b 显示"|"管道号$h 隐去提示符$E显示"<-"号对于其它文字,则直接显示文本本身prompt ljw,则显示为ljw提示符prompt 则仅显示当前驱动器号及大于号.二十二、ramdrive.sys 使用内存当做虚拟盘来使用应注意,所有数据都存在于内存中,应及时将其存到硬盘中,否则掉电后或者死机后将丢失全部数据,优点是运行速度快,但不能在windows中使用.示例:config.sys: device=c:\dos\ramdrive.sys /size[/e|a]size为以k为单位的字节数,即建立的虚拟盘的大小./e或/a 都是使用扩展内存来建立虚拟盘,?加参数的前提是必须先加载内存管理器himem.sys及emm386.exe.二十三、s st 将一个驱动器与一个子目录联接如:将对A:\l1\l2 子目录的请求映射为S盘,则输入s st s: a:\l1\l2 即可这样使用dir s:?等命令则显示的是a:\l1\l2子目录下的内容,其它copy del 一样可以用s st s: d 来取消这种映射.可以用s st 来显示各种联接情况注意:?可以采用s st a: c:a 来建立一个对于A的读写盘.对于某些安装软件来说,?必须使用A盘来安装,就可以使用先将所要安装的软件全部拷贝到C:a子目录中,然后输入s st a: c:a,再转到A:,就可以进行软件的安装了.二十四、mem /c /m /p /d 常规内存显示程序/c显示所有内存驻留程序的占用情况,分为conventional常规内存和uppermemory高端内存占用,并显示总的占用情况(常规高端保留扩展内存)/p分页显示,页间暂停/m后加模块名如:/m msdos 显示dos系统内存的占用./d对常规高端保留扩展内存加以详细例表说明通过分析,可以看出内存占用是否合理,以及各种程序是否正常加载,从而在此基础上使用内存优化工具memmaker进行各种管理,同时又可以分析出一些程序死机的原因,若有的地方显示"???",则可以断定内存中有病毒的存在,有利于发现及消灭. 二十五、各种管道工具的使用"> < >> <<"将各种命令造成的输出或所需要的输入重新定向如:dir *.bat /b>p 可以将dir *.bat 例出的文件名输出到p文件中.time<p>>p.batp文件中仅存在一个回车符,则可以将时间追加进p.bat文件中"> >>" 是将命令产生的输出重新定向,比如到文件或打印机中.>>产生的内容将追加进文件中,>则将原文件内容覆盖."< <<" 是将命令所需要输入的内容重新定向.如:time<p 在批中可以是时间代码或回车符,可以以此改变时间.需要说明的是"prn "为打印机, "null"为空设备con 为显示器type p.bat>prn 可将p.bat打印出来.copy null p 可将p文件删除掉copy con p 可以在屏幕上编辑p文件,F6可以存盘退出type p>pp 完成p文件到pp 的复制type p|more 可在屏满时暂停显示二十六、move 命令move [y/-y] filename1 filename2将文件1移动到文件2处如:move c:\dos\*.* c:\cced将dos子目录下的所有文件全部移动到cced 子目录下/y|-y参数在目标目录不存在需要创建时,是否出现提示可以使用该命令修改子目录名称,如move dos cced将dos目录名改为cced二十七、append 指定一些特殊数据文件的存放位置,如user.dat pe2.pro等一些非*. exe *.com *.bat 文件格式:append [:]终止以前存在的指定目录append 显示指定情况append [path] append c:\user 等二十八、call 在一个批处理命令中调用另外一个批处理文件(1)不终止现有文件的运行,执行完掉用程序后立即返回.(2)被调用批处理命令必须以bat 为扩展名(3)调用批处理文件时,可以加上参数(%1-%9)以及环境变量如%ba %(4)不能使用管道工具及重定向工具二十九、device devicehigh loadhighdevice 将指定的设备驱动程序装入内存中devicehigh将指定的设备驱动程序装入高端内存中loadhigh 将指定的设备驱动程序装入高端内存中三十、defrag 优化磁盘legend(传奇) optimize(优化) elapse(逝去) fragment(碎片)该命令执行对指定的盘进行优化处理(包括检查文件分配表,各文件状态,纠正错误),在执行时,可按照文件名大小,时间,扩展名对文件进行排序.评论这张转发至微博转发至微博1人| 分享到:阅读(160)| 评论(0)| 转载(0) |举报Ping命令大全如何加强班级管理历史上的今天相关文章最近读者登录后,您可以在此留下足迹。

Ping命令大全及使用方法

Ping命令大全及使用方法

Ping命令大全及使用方法2006-12-10 21:24-- Ping命令大全及使用方法Ping是潜水艇人员的专用术语,表示回应的声纳脉冲,在网络中Ping 是一个十分好用的TCP/IP 工具。

它主要的功能是用来检测网络的连通情况和分析网络速度。

Ping有好的善的一面也有恶的一面。

先说一下善的一面吧。

上面已经说过Ping的用途就是用来检测网络的连同情况和分析网络速度,但它是通过什么来显示连通呢?这首先要了解Ping的一些参数和返回信息。

以下是PING的一些参数:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list-tPing 指定的计算机直到中断。

-a将地址解析为计算机名。

-n count发送 count 指定的 ECHO 数据包数。

默认值为 4。

-l length发送包含由 length 指定的数据量的 ECHO 数据包。

默认为 32 字节;最大值是65,527。

-f在数据包中发送"不要分段"标志。

数据包就不会被路由上的网关分段。

-i ttl将"生存时间"字段设置为 ttl 指定的值。

-v tos将"服务类型"字段设置为 tos 指定的值。

-r count在"记录路由"字段中记录传出和返回数据包的路由。

count 可以指定最少 1 台,最多 9 台计算机。

-s count指定 count 指定的跃点数的时间戳。

-j computer-list利用 computer-list 指定的计算机列表路由数据包。

连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。

电脑常用Ping命令

电脑常用Ping命令

4S 店事故车维修保险理赔流程 1. 现场拍照(取得客户同意)。

PingPING (Packet Internet Grope),因特网包探索器,用于测试网络连接量的程序。

Ping 发送一个ICMP 回声清求消息给目的地并报告是否收到所希望的ICMP 回声应答。

Ping 命令可以用来验证与远程计算机的连接.(该命令只有在安装了TCP/IP 协议后才能使用) ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list 参数说明:-t :一直Ping 指定的计算机,直到从键盘按下Control-C 中断。

-a :将地址解析为计算机NetBios 名。

-n :发送count 指定的ECHO 数据包数。

通过这个命令可以自己定义 发送的个数,对衡量网络速度很有帮助。

能够测试发送数据包的返回平均时间,及时间的快慢程度。

默认值为 4。

-l :发送指定数据量的ECHO 数据包。

默认为 32 字节;最大值是65500byt 。

-f :在数据包中发送“不要分段”标志,数据包就不会被路由上的网关分段。

通常你所发送的数据包都会通过路由分段再发送给对 方,加上此参数以后路由就不会再分段处理。

-i :将“生存时间”字段设置为TTL 指定的值。

指定TTL 值在对方的 系统里停留的时间。

同时检查网络运转情况的。

-v :tos 将“服务类型”字段设置为 tos 指定的值。

-r :在“记录路由”字段中记录传出和返回数据包的路由。

通常情况下,发送的数据包是通过一系列路由才到达目标地址的,通 过此参数可以设定,想探测经过路由的个数。

限定能跟踪到9个路由。

-s :指定 count 指定的跃点数的时间戳。

Ping命令完整代码

Ping命令完整代码

#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<process.h>#include "winsock.h"#pragma comment(lib,"Ws2_32.lib");#define SEND_SIZE 32#define PACKET_SIZE 4096#define ICMP_ECHO 8#define ICMP_ECHOREPL Y 0struct icmp{unsigned char icmp_type; // 消息类型unsigned char icmp_code; // 代码unsigned short icmp_cksum; // 校验和unsigned short icmp_id; // 用来惟一标识此请求的ID号,通常设置为进程ID unsigned short icmp_seq; // 序列号unsigned long icmp_data; // 时间戳};struct ip{unsigned char ip_hl:4; //首部长度unsigned char ip_v:4; //ip版本号unsigned char ip_tos; //服务类型unsigned short ip_len; // 总长度unsigned short ip_id; //标识unsigned short ip_off; //标志位unsigned char ip_ttl; //生存时间unsigned char ip_p; //协议(TCP或其他)unsigned short ip_sum; //ip首部校验和unsigned long ip_src; //源ip地址unsigned long ip_dst; //目的ip地址};unsigned char sendpacket[PACKET_SIZE];unsigned char recvpacket[PACKET_SIZE];struct sockaddr_in dest_addr;struct sockaddr_in from_addr;int sockfd;int pid;int timeout;unsigned short cal_chksum(unsigned short *addr,int len);int pack(int pack_no);int unpack(unsigned char *buf,int len);void send_packet(void);void recv_packet(void);void main(){printf("———————————————————————————————\n"); printf(" 查看帮助请按 1 \n\n"); printf(" 直接ping目的主机请按 2 \n\n"); printf(" 一直ping目的主机请按 3 \n\n"); printf(" 指定向目的主机发送报文数目请按 4 \n\n"); printf(" 将地址解析为计算机名输出请按 5 \n\n"); printf(" 设置超时时间 6 \n\n");printf("——————————————————————————————\n\n"); int select;printf("请选择:");scanf("%d",&select);if(select==1){printf("参数\n");printf(" 1 查看帮助\n");printf(" 2 直接ping目的主机\n");printf(" 3 一直ping目的主机\n");printf(" 4 指定向目的主机发送报文数目\n");printf(" 5 将地址解析为计算机名输出\n");printf(" 6 设置超时时间\n");}else{int argc;char *argv[2];char str[15];printf("请输入所要ping的主机ip地址或域名,按回车键结束:"); scanf("%s",&str); //输入目的ipprintf("\n");argc = 2;argv[0]= "-t";argv[1]=str;struct hostent *host;struct protoent *protocol;WSADATA wsaData; //WSADA TA数据结构timeout=1000; //设置超时int SEND_COUNT; //设置发送的报文数if(select==6){printf("请输入数据包超时时间,按回车键结束:");scanf("%d",&timeout);printf("\n");}if(select==4){printf("请输入发往目的主机的报文数,按回车键结束:"); scanf("%d",&SEND_COUNT);printf("\n");}int i;char *par_host;par_host=argv[argc-1];switch(argc){case 2: break;case 3: if(strcmp(argv[1],"-t")==0){SEND_COUNT=10000;break;}default:printf("usage: %s [-t] Host name or IP address\n",argv[0]);exit(1);}//初始化winsockif(WSAStartup(0x1010,&wsaData)!=0){printf("wsastartup error\n");exit(1);}if( (protocol=getprotobyname("icmp") )==NULL){printf("getprotobyname error\n");exit(1);}printf("所选协议的协议名:%s\n\n",protocol->p_name);//printf("%s\n",protocol->p_aliases);printf("以主机字节顺序排列的协议号为:%d\n\n",protocol->p_proto);//system("pause");if( (sockfd=socket(AF_INET,SOCK_RAW,protocol->p_proto) )<0){printf("socket error\n");exit(1);}//设置套接字属性if(setsockopt(sockfd,SOL_SOCKET,SO_RCVTIMEO,(char*)&timeout,sizeof(timeout))<0) fprintf(stderr,"failed to set recv timeout: %d\n",WSAGetLastError());if(setsockopt(sockfd,SOL_SOCKET,SO_SNDTIMEO,(char*)&timeout,sizeof(timeout))<0) fprintf(stderr,"failed to set send timeout: %d\n",WSAGetLastError());//填充目标地址结构memset(&dest_addr,0,sizeof(dest_addr));dest_addr.sin_family=AF_INET;//printf("%s\n",par_host);if(host=gethostbyname(par_host) ){//printf("%s\n",par_host);memcpy( (char *)&dest_addr.sin_addr,host->h_addr,host->h_length);//resolve address to hostname 将ip解析为主机名if(host=gethostbyaddr(host->h_addr,4,PF_INET))par_host=host->h_name;// printf("%s\n",par_host);}else //或者输出不明的主机if( dest_addr.sin_addr.s_addr=inet_addr(par_host)==INADDR_NONE){printf("Unkown host %s\n",par_host);exit(1);}pid=getpid();printf("该程序运行的进程号是:%d\n\n",pid); //程序运行是的接口号//接收icmp数据内容//system("pause");if(select==5)printf("Pinging %s [%s]: with %d bytes of data:\n\n",par_host,inet_ntoa(dest_addr.sin_addr),SEND_SIZE);if(select!=5)printf("Pinging %s: with %d bytes of data:\n\n",inet_ntoa(dest_addr.sin_addr),SEND_SIZE);if(select!=3&&select!=4)for(i=0;i<4;i++) //循环发送数据包{send_packet();recv_packet();Sleep(1000); //等待1s}if(select==3)for(i=0;;i++) //循环发送数据包{send_packet();recv_packet();Sleep(1000); //等待1s}for(i=0;i<SEND_COUNT;i++) //循环发送数据包{send_packet();recv_packet();Sleep(1000); //等待1s}//关闭套接字if(closesocket(sockfd)==SOCKET_ERROR){printf("closesocket failed with error%d\n",WSAGetLastError()); }//释放winsockif(WSACleanup()==SOCKET_ERROR){printf("WSACleanup failed with error %d\n",WSAGetLastError()); }}}//this algorithm is referenced from other'sunsigned short cal_chksum(unsigned short *addr,int len){int nleft=len;int sum=0;unsigned short *w=addr;unsigned short answer=0;while(nleft>1){ sum+=*w++;nleft-=2;} //如果为奇数,将最后一个字节扩展到双字,在累加到nleft中if( nleft==1){ *(unsigned char *)(&answer)=*(unsigned char *)w;sum+=answer;}// 将nleft的高16位和低16位相加,取反后得到校验和sum=(sum>>16)+(sum&0xffff);sum+=(sum>>16);answer=~sum;return answer;}int pack(int pack_no ) //构建数据包{int packsize;struct icmp *icmp;packsize=8+SEND_SIZE;icmp=(struct icmp*)sendpacket; //填充icmp数据内容icmp->icmp_type=ICMP_ECHO; //填充类型icmp->icmp_code=0; //填充代码icmp->icmp_seq=pack_no; //填充序列号icmp->icmp_id=pid; //填充IDicmp->icmp_data=GetTickCount();icmp->icmp_cksum=0;icmp->icmp_cksum=cal_chksum( (unsigned short *)icmp,packsize); //计算校验和return packsize;}int unpack(unsigned char *buf,int len){struct ip *ip;struct icmp *icmp;double rtt;int iphdrlen;ip=(struct ip *)buf;iphdrlen=ip->ip_hl*4;icmp=(struct icmp *)(buf+iphdrlen);if( (icmp->icmp_type==ICMP_ECHOREPL Y) && (icmp->icmp_id==pid) ){ //读取icmp数据len=len-iphdrlen-8;rtt=GetTickCount()-icmp->icmp_data;if( rtt<=timeout)printf("Reply from %s: bytes=%d time=%.0fms TTL=%d icmp_seq=%u\n", inet_ntoa(from_addr.sin_addr), len,rtt, ip->ip_ttl, icmp->icmp_seq+1);else printf("Request timed out.\n");return 1;}return 0;}void send_packet(){int packetsize;static int pack_no=0;packetsize=pack(pack_no++);if( sendto(sockfd,(char *)sendpacket,packetsize,0,(struct sockaddr *)&dest_addr,sizeof(dest_addr) )<0 )printf("Destination host unreachable.\n");printf("send NO %d\n",pack_no);}void recv_packet(){int n,fromlen;int success;fromlen=sizeof(from_addr);do{if( (n=recvfrom(sockfd,(char *)recvpacket,sizeof(recvpacket),0,(struct sockaddr *)&from_addr,&fromlen)) >=0)success=unpack(recvpacket,n);else if (WSAGetLastError() == WSAETIMEDOUT){printf("Request timed out.\n");return;}}while(!success);}。

(完整版)ping命令大全

(完整版)ping命令大全

1.Ping命令详解首先需要打开DOS命令界面,通过点击开始菜单中的“运行”选项,输“cmd”。

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list-t Ping 指定的计算机直到中断。

-a 将地址解析为计算机名。

-n count 发送 count 指定的 ECHO 数据包数。

默认值为 4。

-l length 发送包含由 length 指定的数据量的 ECHO 数据包。

默认为 32 字节;最大值是65,527。

-f 在数据包中发送"不要分段"标志。

数据包就不会被路由上的网关分段。

-i ttl 将"生存时间"字段设置为 ttl 指定的值。

-v tos 将"服务类型"字段设置为 tos 指定的值。

-r count 在"记录路由"字段中记录传出和返回数据包的路由。

count 可以指定最少 1 台,最多 9 台计算机。

-s count 指定 count 指定的跃点数的时间戳。

-j computer-list 利用 computer-list 指定的计算机列表路由数据包。

连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。

-k computer-list 利用 computer-list 指定的计算机列表路由数据包。

连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。

-w timeout 指定超时间隔,单位为毫秒。

destination-list 指定要 ping 的远程计算机。

2怎样使用Ping这命令来测试网络连通呢?连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

ping命令详解

ping命令详解

系统内置的网络测试工具ping1.Ping命令的语法格式ping命令的完整格式如下:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j -Host list] | [-k Host-list] [-w timeout] destination-list从这个命令式中可以看出它的复杂程度,ping命令本身后面都是它的执行参数,现对其参数作一下详细讲解吧!-t——有这个参数时,当你ping一个主机时系统就不停的运行ping这个命令,直到你按下Control-C。

-a——解析主机的NETBIOS主机名,如果你想知道你所ping的要机计算机名则要加上这个参数了,一般是在运用ping命令后的第一行就显示出来。

-n count——定义用来测试所发出的测试包的个数,缺省值为4。

通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送20个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过执行带有这个参数的命令获知。

-l length——定义所发送缓冲区的数据包的大小,在默认的情况下windows的ping发送的数据包大小为32byt,也可以自己定义,但有一个限制,就是最大只能发送65500byt,超过这个数时,对方就很有可能因接收的数据包太大而死机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。

-f——在数据包中发送“不要分段”标志,一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。

-i ttl——指定TTL值在对方的系统里停留的时间,此参数同样是帮助你检查网络运转情况的。

-v tos——将“服务类型”字段设置为“tos” 指定的值。

-r count——在“记录路由”字段中记录传出和返回数据包的路由。

PING命令详解

PING命令详解

ping命令详解使用 ping可以测试计算机名和计算机的 ip 地址,验证与远程计算机的连接,通过将 icmp 回显数据包发送到计算机并侦听回显回复数据包来验证与一台或多台远程计算机的连接,该命令只有在安装了 tcp/ip 协议后才可以使用。

现在打开你的ms-dos(开始→程序→ms-dos),用win2000的朋友打开cmd.exe(这是win2000下的ms-dos,开始→程序→附件→"命令提示符" 或开始→搜索文件或文件夹→"填入cmd.exe",找到后双击运行就可以了。

)下面我们来看看他的命令:ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list参数-tping 指定的计算机直到中断。

ctrl+c停止-apinging china-hacker [127.0.0.1] with 32 bytes of data:(china-hacker就是他的计算机名)reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128reply from 127.0.0.1: bytes=32 time<10ms ttl=128ping statistics for 127.0.0.1:packets: sent = 4, received = 4, lost = 0 (0% loss),approximate round trip times in milli-seconds:minimum = 0ms, maximum = 0ms, average = 0ms-n count发送 count 指定的 echo 数据包数。

常用Ping命令

常用Ping命令
图-2
图-3
2.追路由
开始→运行→输入cmd→输入tracert IP →回车即可
(跟踪路由)
注意:追路由一般追3次
找出时间波动大的那一栏所对应的IP进查询下归属地
如果显示是镇江的线路那么就表明镇江节点有问题提交给上级处理
如果显示是外地的线路则表示出了镇江该地的节点问题这边处理不了
1.ping延时和丢包
开始→运行→输入cmd→输入ping IP -t(IP是所要Ping的服务器的IP,ip前后各有一个空格)→然后回车键即可(按ctrl+c结束)
延时看时间那一列看时间数值的大小和波动
丢包看图示-3出现请求超时就说明有丢包现象
当然以上情况看得考虑到你本地的网络情况
以下图示:
图-1
请看图-4

3.Ping域名所指向的服务器ip(看域名是否解析到对应的ip)
开始→运行→输入cmd→输入ping域名→回车即可
请看图-5
图-5
4.ping服务器端口是否通(本地系统是xp系统)
开始→运行→输入cmd→输入telnet IP端口(这里以80端口为列telnet IP 80)→回车即可
图-6说明服务器33.84 80端口是通的
图-7说明服务器33.84 7000端口是关闭的
图-6
图-7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.Ping 命令详解
首先需要打开 DOS命令界面,通过点击开始菜单中的“运行”选
项,输“ cmd”。

ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v
tos] [-r count] [-s count] [-j computer-list] | [-k
computer-list] [-w timeout] destination-list
-t Ping指定的计算机直到中断。

-a 将地址解析为计算机名。

-n count发送count指定的ECHO数据包数。

默认值为4 。

-l length发送包含由length指定的数据量的ECHO 数据
包。

默认为 32 字节 ; 最大值是 65,527 。

-f在数据包中发送"不要分段"标志。

数据包就不会被路由上的网关分段。

-i ttl将"生存时间"字段设置为ttl指定的值。

-v tos将"服务类型"字段设置为tos指定的值。

-r count在"记录路由"字段中记录传出和返回数据包的路由。

count可以指定最少1台,最多9台计算机。

-s count指定count指定的跃点数的时间戳。

-j computer-list 利用 computer-list 由数据包。

连续计算机可以被中间网关分隔
指定的计算机列表路( 路由稀疏源 )IP允许的
最大数量为9 。

-k computer-list 利用 computer-list 由数据包。

连续计算机不能被中间网关分隔
指定的计算机列表路( 路由严格源 )IP允许的
最大数量为9 。

-w timeout指定超时间隔,单位为毫秒。

destination-list指定要ping的远程计算机。

2 怎样使用 Ping 这命令来测试网络连通呢?
连通问题是由许多原因引起的,如本地配置错误、远程主机协议失效等,当然还包括设备等造成的故障。

首先我们讲一下使用Ping 命令的步骤。

使用 Ping 检查连通性:
1.使用 ipconfig /all观察本地网络设置是否正确,
2. Ping 127.0.0.1 ,127.0.0.1 回送地址 Ping 回送地址是为了检查本地的 TCP/IP 协议有没有设置好 ;
3.Ping 本机 IP 地址,这样是为了检查本机的 IP 地址是否设置有误 ;
4.Ping 本网网关或本网 IP 地址,这样的是为了检查硬件设备是否有问题,也可以检查本机与本地网络连接是否正常 ;( 在非局域网中这一步骤可以忽略 ) 。

相关文档
最新文档