当前位置:文档之家› linux下 实现traceroute

linux下 实现traceroute

linux下 实现traceroute
linux下 实现traceroute

1.#include

2.#include

3.#include

4.#include

5.#include

6.#include

7.#include

8.#include

9.#include

10.#include

11.#include

12.#include

13.#include

14.

15.struct ip

16.{

17.#if __BYTE_ORDER == __LITTLE_ENDIAN

18. unsigned int ip_hl:4; /* little-endian IP头长度(单位

为32位)4位 */

19. unsigned int ip_v:4; /* 版本号4 IP4用4 */

20.#endif

21.#if __BYTE_ORDER == __BIG_ENDIAN

22. unsigned int ip_v:4; /* version */

23. unsigned int ip_hl:4; /* header length */

24.#endif

25. u_int8_t ip_tos; /* 服务类型一般为0 */

26. u_short ip_len; /* 数据总长度 (单位为32位) */

27. u_short ip_id; /* 标识16 */

28. u_short ip_off; /* 分段偏移*/

29.#define IP_RF 0x8000 /* reserved fragment标

志 */

30.#define IP_DF 0x4000 /* dont fragment flag */

31.#define IP_MF 0x2000 /* more fragments flag */

32.#define IP_OFFMASK 0x1fff /* mask for fragmenting bits

*/

33. u_int8_t ip_ttl; /* 生存时间 */

34. u_int8_t ip_p; /* 传输协议 tcp是6 */

35. u_short ip_sum; /* 头校验和 */

36.struct in_addr ip_src, ip_dst; /* 源地址目标地址 */

37.};

38.

39.struct icmp

40.{

41.u_int8_t type; /* 消息类型 */

42. u_int8_t code; /* 代码类型 */

43. u_int16_t checksum; /* 校验位 */

44.union

45. {

46. u_char ih_pptr; /* ICMP_PARAMPROB */

47.struct in_addr ih_gwaddr; /* 网关地址 */

48.struct/* echo 数据包 */

49.{

50. u_int16_t id;

51. u_int16_t sequence;

52. } echo;

53.

54. u_int32_t ih_void;

55.

56.struct ih_pmtu

57. {

58. u_int16_t ipm_void;

59. u_int16_t ipm_nextmtu;

60.} ih_pmtu;

61.

62.struct ih_rtradv

63. {

64.u_int8_t irt_num_addrs;

65.u_int8_t irt_wpa;

66.u_int16_t irt_lifetime;

67. } ih_rtradv;

68. } un;

69.#define icmp_pptr un.ih_pptr

70.#define icmp_gwaddr un.ih_gwaddr

71.#define icmp_id un.echo.id

72.#define icmp_seq un.echo.sequence

73.#define icmp_void un.ih_void

74.#define icmp_pmvoid un.ih_pmtu.ipm_void

75.#define icmp_nextmtu un.ih_pmtu.ipm_nextmtu

76.#define icmp_num_addrs un.ih_rtradv.irt_num_addrs

77.#define icmp_wpa un.ih_rtradv.irt_wpa

78.#define icmp_lifetime un.ih_rtradv.irt_lifetime

79.

80.union

81.{

82.struct

83. {

84. u_int32_t its_otime;

85.u_int32_t its_rtime;

86. u_int32_t its_ttime;

87. } id_ts;

88.struct

89. {

90.struct ip idi_ip;

91./* 属性阿和紧跟它的64位数据 */

92. } id_ip;

93.

94. } icmp_dun;

95.#define icmp_otime icmp_dun.id_ts.its_otime

96.#define icmp_rtime icmp_dun.id_ts.its_rtime

97.#define icmp_ttime icmp_dun.id_ts.its_ttime

98.#define icmp_ip icmp_dun.id_ip.idi_ip

99.#define icmp_radv icmp_dun.id_radv

100.#define icmp_mask icmp_dun.id_mask

101.#define icmp_data icmp_dun.id_data

102.};

103.

104.

105.struct ip_and_icmp

106.{

107.struct ip iph;

108.struct icmp icmph;

109.};

110.

111./* 公共信息 */

112.char dstip[]="202.115.57.24"; /* 目标IP */

113.int errno;

114.int sends,waits; /* 发送的socket 接收用的socket */

115.char info[500]; /* 收到的icmp信息 */

116.struct icmp *eicmp; /* TTL超时的icmp信息 */

117.struct ip_and_icmp *ip_icmp; /* 收到的icmp原始信息 */

118.struct sockaddr_in toaddr,from; /* 目标地址来信息地址 */

119.

120.unsigned short csum (unsigned short *packet, int packlen) /* 校验和计算 */

121.{

122.register unsigned long sum = 0;

123.

124.while (packlen > 1) {

125. sum+= *(packet++);

126. packlen-=2;

127. }

128.

129.if (packlen > 0)

130. sum += *(unsigned char *)packet;

131.

132./* 这些将取决于位顺序 */

133.while (sum >> 16)

134. sum = (sum & 0xffff) + (sum >> 16);

135.

136.return (unsigned short) ~sum;

137.}

138.

139.long int send_echo(struct sockaddr_in toaddr,int id,int sq,int size,i nt ttlset)

140./* 发送icmp ECHO信息可定目标IP,ID号,SQ号和 IP的TTL大小, */

141./* 出现返回-1,否则返回发送时的时间 */

142.void sendicmp()

143.{

144.int lenth;

145.long int nowtime;

146.char icmpbuffer[200];

147.struct icmp *icmph;

148. memset(icmpbuffer,'a', 200);

149. icmph=(struct icmp *)icmpbuffer;

150. sen=socket(AF_INET,SOCK_RAW,1);

151. inet_aton(toip,&toaddr.sin_addr); /* 字符串转入地址 */

152. toaddr.sin_family = AF_INET;

153. icmph->type=8;

154. icmph->code=0;

155. icmph->un.echo.id=htons(id);

156. icmph->un.echo.sequence=htons(sq);

157. icmph->checksum=htons(0);

158. icmph->checksum=csum((unsigned short *)icmpbuffer,8+size);

159./* 发送的没有IP头信息 */

160. setsockopt(sends, IPPROTO_IP, IP_TTL, &ttlset, sizeof(ttlset)); /* 设定TTL的大小 */

161. lenth=sendto(sends,icmpbuffer,8+size,0,(struct sockaddr *)&toaddr,si zeof(toaddr));

162.if (lenth>0)

163. {

164. nowtime=clock();

165.printf("send ICMO size %d at clock %d to %s id=%d sq=%d \n", 166.size,nowtime,inet_ntoa(toaddr.sin_addr),id,sq);

167. }

168.else

169. {

170.return -1;

171. }

172.return nowtime;

173.}

174.

175./* 等对应的ICMP REPLY信息指定IP,ID,SQ和等待时间。*/

176./* 出现ttl超时或收到返回接收到时的时间,否则为-1 */

177.int wait_icmp(struct sockaddr_in toaddr,int id,int sq,clock_t timesiz

e)

178.{

179.int length,fromlength;

180.clock_t endclock,recvclock;

181.inet_aton(toip,&toaddr.sin_addr);

182.memset(info,'A',500);

183.endclock=clock()+timesize;

184.while(clock()

185. {

186.fromlength=sizeof(from);

187. length=recvfrom(waits,info,sizeof(info),0,

188.(struct sockaddr *)&from,&fromlength);

189.

190.if ( length>0 && (from.sin_addr.s_addr==toaddr.sin_addr.s_addr )

191.&& (ip_icmp->icmph.type==0) )

192. {

193.recvclock=clock();

194.if ((ntohs(ip_icmp->icmph.un.echo.id)==id)

195.&& (ntohs(ip_icmp->icmph.un.echo.sequence)==sq) )

196. {

197.viewinfo(info,length);

198.return recvclock;

199. }

200. } /* end length>0

201. if (length>0 && (ip_icmp->icmph.type==11)&&(ntohs(eicmp->icmp _id)==id)

202.&& (ntohs(eicmp->icmp_seq)==sq) ) /* 11为ttl超时 */

203. {

204.recvclock=clock();

205.return recvclock;

206. }

207. } /* end while */

208.

209.return -1; /* 超时 */

210.}

211.

212.int main(int argc, char *argv[])

213.{

214.int rec,fromlen,n,sq,id,mstime,on=1,route=1,timeout=0,ttl;

215.long int iplong;

216.struct protoent *proto;

217.struct hostent *hp,*fromname;

218.clock_t start,sendtime,waittime;

219.start = clock();

220.ip_icmp=(struct ip_and_icmp *)info;

221.eicmp=(struct icmp *)(&ip_icmp->icmph.icmp_ip+1);

222.id=999;

223.mstime=2000;

224.if (argc<2)

225.{

226.printf("usage: %s ip_addrs time-out(millisecond) \n",argv[0]); 227.printf(" %s testping 192.168.11.38 1000 \n",argv[0]);

228.printf("or %s testping 192.168.11.38 \n",argv[0]);

229.return 0;

230.}

231.if (argc>2)

232.{

233.mstime=atoi(argv[2]);

234.if (mstime<1)

235. {

236.printf("time-out(millisecond) is error \n");

237.exit (0);

238.}

239.printf("timo-out %d ms \n",mstime);

240.}

241.if ((hp = gethostbyname(argv[1])) == NULL) /* 进入名字的分析 */

242.{

243.if ( (toaddr.sin_addr.s_addr=inet_addr(argv[1])) == -1)

244.{

245. fprintf(stderr, "%s: unknown host\n", argv[1]); 246.exit (0);

247. }

248.if (htonl(toaddr.sin_addr.s_addr)<0x1000001)

249. {

250. printf("error ip %s \n",inet_ntoa(toaddr.sin_addr));

251. exit (0);

252. }

253. }

254.else

255.{

256.bcopy(hp->h_addr_list[0], &toaddr.sin_addr.s_addr, hp->h_length); 257.}

258.icmph=(struct icmphdr *)icmpbuffer;

259./* 初化接收和发送用的sends */

260.sends=socket(AF_INET,SOCK_RAW,1);

261.if(setsockopt(sends, IPPROTO_IP, IP_TTL, &on, sizeof(on)) 0) 262.{

263.perror("This is sytem can't set TTL \n");

264.exit(1);

265. }

266.waits=socket(AF_INET,SOCK_RAW,1);

267.fcntl(waits,F_SETFL,O_NDELAY);

268.proto = getprotobyname("icmp");

269.rec=socket(AF_INET,SOCK_RAW, proto->p_proto);

270.fcntl(rec,F_SETFL,O_NDELAY);

271.printf("%s \n",sys_errlist[errno]);

272.if (rec<0)

273.{

274.exit(0);

275.}

276.printf("now to wait... at %d \n",start);

277./* waiting for packets */

278.inet_aton(dstip,&toaddr.sin_addr);

279.printf("send ICMO to %s \n",inet_ntoa(toaddr.sin_addr));

280. id=999; /* 初始化ID */

281.sq=0; /* 初始化sq */

282.timeout=0; /* time out次数 */

283.ttl=1; /* ttl 值 */

284.while (1)

285.{

286.sq++;

287.sendtime=send_echo(toaddr,id,sq*100,20,ttl); /* 发送ICMP ECHO */

288./* 目标IP 编号长度 ttl */

289.if (sendtime==-1)

290.{

291.printf("end error \n");

292.exit (0);

293.}

294.waittime=wait_icmp(toaddr,id,sq*100,mstime*1000); /* 接收ICMP ECHO */

295.

296.if (waittime==-1)

297.{

298.if (timeout==4) /* 连续4次time out退出 */

299.{

300.printf("time out >3 end \n");

301.exit (1);

302.}

303.printf("time out \n");

304.timeout++;

305.}

306.else

307.{

308.if (ip_icmp->icmph.type==0)

309.{

310.printf("%02d ",route);

311.printf(" %04d ms ",(waittime-sendtime)/1000);

312.printf(" %s ",inet_ntoa(ip_icmp->iph.ip_src)); 313.printf("\n");

314.printf("\n");

315.printf("Trace complete \n");

316.break;

317.}

318.if (ip_icmp->icmph.type==11)

319.{

320.timeout=0;

321.ttl++; /* 接收到一个ttl超时信息TTL值加1 */ 322.printf("%02d ",route);

323.printf(" %04d ms ",(waittime-sendtime)/1000);

324.printf(" %s ",inet_ntoa(ip_icmp->iph.ip_src)); 325.printf("\n");

326.route++;

327.}

328.} /* end else waittime==-1 */

329.} /* end for */

330.}

如何安装Linux内核源代码

如何获取Linux内核源代码 下载Linux内核当然要去官方网站了,网站提供了两种文件下载,一种是完整的Linux 内核,另一种是内核增量补丁,它们都是tar归档压缩包。除非你有特别的原因需要使用旧版本的Linux内核,否则你应该总是升级到最新版本。 使用Git 由Linus领头的内核开发队伍从几年前就开始使用Git版本控制系统管理Linux内核了(参考阅读:什么是Git?),而Git项目本身也是由Linus创建的,它和传统的CVS不一样,Git是分布式的,因此它的用法和工作流程很多开发人员可能会感到很陌生,但我强烈建议使用Git下载和管理Linux内核源代码。 你可以使用下面的Git命令获取Linus内核代码树的最新“推送”版本: $ git clone git://https://www.doczj.com/doc/3c2245145.html,/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 然后使用下面的命令将你的代码树与Linus的代码树最新状态同步: $ git pull 安装内核源代码 内核包有GNU zip(gzip)和bzip2格式。Bzip2是默认和首选格式,因为它的压缩比通常比gzip更好,bzip2格式的Linux内核包一般采用linux-x.y.z.tar.bz2形式的文件名,这里的x.y.z是内核源代码的具体版本号,下载到源代码包后,解压和抽取就很简单了,如果你下载的是bzip2包,运行: $ tar xvjf linux-x.y.z.tar.bz2 如果你下载的是gzip包,则运行: $ tar xvzf linux-x.y.z.tar.gz 无论执行上面哪一个命令,最后都会将源代码解压和抽取到linux-x.y.z目录下,如果你使用Git下载和管理内核源代码,你不需要下载tar包,只需要运行git clone命令,它就会自动下载和解压。 内核源代码通常都会安装到/usr/src/linux下,但在开发的时候最好不要使用这个源代码树,因为针对你的C库编译的内核版本通常也链接到这里的。 应用补丁

常用的网络工具命令解析

如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写。 例如,"sh int" 的意思是"show interface"。 现在Windows 2000 也有了类似界面的工具,叫做netsh。 我们在Windows 2000 的cmd shell 下,输入netsh 就出来:netsh> 提示符, 输入int ip 就显示: interface ip> 然后输入dump ,我们就可以看到当前系统的网络配置: # ---------------------------------- # Interface IP Configuration # ---------------------------------- pushd interface ip # Interface IP Configuration for "Local Area Connection" set address name = "Local Area Connection" source = static addr = 192.168.1.168 mask = 255.255.255.0 add address name = "Local Area Connection" addr = 192.1.1.111 mask = 255.255.255.0 set address name = "Local Area Connection" gateway = 192.168.1.100 gwmetric = 1 set dns name = "Local Area Connection" source = static addr = 202.96.209.5 set wins name = "Local Area Connection" source = static addr = none

5、学会使用Ping、Traceroute、Telnet、SSH

学会使用Ping 、Traceroute 、Telnet 、SSH (测试和网络连接的小工具测试和网络连接的小工具)) 功能描述: 使用Ping 命令是用于检测网络设备可达性,它使用ICMP 有echo 信息来决定 远程设备是否可用,与远程主机通信来回的延迟delay,或是数据包的丢失情况. 使用Traceroute 跟踪从源到目的地所经过的路径跟踪从源到目的地所经过的路径。。 使得telnet , ssh (Secure Shell)远程控制设备. 1. 使用PING 命令 注:本实验使用R1,R2,R3,SW1四台设备测试四台设备测试,,配置好R1,R2,R3,SW1的IP 地址地址,,检查接口状检查接口状态为态为up 后再测试后再测试。。 在R1上测试到R2,R3的连通性 R1#ping 12.1.1.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 12.1.1.2, timeout is 2 seconds: !!!!! //5个!表明网络是通的 Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms R1#ping 13.1.1.3

Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 13.1.1.3, timeout is 2 seconds: !!!!! //5个!表明网络是通的 Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms R1# 在SW1上检查到R1的连通性的连通性:: SW1#ping 11.1.1.1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 11.1.1.1, timeout is 2 seconds: !!!!! //5个!表明网络是通的 Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/8 ms SW1# 通常通常在路由器或是交换机里使用在路由器或是交换机里使用ping 命令命令时常碰到的问题时常碰到的问题时常碰到的问题。。 a. 叹号(!):表示成功收到响应信息. b. 句号(.):表示在等待应答超时. c. U :表示目标主机不可达. d. Q :表示目标主机繁忙. e. M :代表不能分片(fragment). f. ?:表示未知数据包类型. g. & :表示数据包已没有生存期(lifetime) 2.使用traceroute 命令,检查从源检查从源到目的地经过的路由器的个数到目的地经过的路由器的个数.(或是数据包经过的路径) 注:本实验先确认R2到3 3.1.1.3是否有路由,和R3是否有到12.1.1.2的路由,可以用show ip route 命令检查,如果没有,分别在R1,R2,R3上配置路由: R1: ip route 33.1.1.0 255.255.255.0 13.1.1.3 R2: ip route 0.0.0.0 0.0.0.0 12.1.1.1 R3: ip route 0.0.0.0 0.0.0.0 13.1.1.1 在R2上使用traceroute 命令: R2#traceroute 33.1.1.3 Type escape sequence to abort. Tracing the route to 33.1.1.3 1 12.1.1.1 4 msec 4 msec 4 msec 2 13.1.1. 3 4 msec 4 msec * R2# 从以上可以看出从R2 到达33.1.1.3经过了12.1.1.1和13.1.1.3两个路由器 3.在PC 上是使用的是tracert 命令命令((路由器或是交换机使用的是traceroute ): 例如:跟踪从PC 到厦门电信DNS (202。101。103。55)所经过的路径所经过的路径((所经过的路由器个 数,相应IP 地址地址))

【实验一】常用网络管理命令的使用

实验1 常用网络管理命令的使用 一.实验目的 1.掌握各种主要命令的作用。 2.掌握各种网络命令的主要测试方法。 3.理解各种网络命令主要参数的含义。 二.实验环境 1.安装有Windows 2003 Server操作系统的计算机二台。 2.至少有两台机器通过交叉双绞线相连或通过集线器相连。 三.实验理论基础 在网络调试的过程中,常常要检测服务器和客户机之间是否连接成功、希望检查本地计算机和某个远程计算机之间的路径、检查TCP/IP的统计情况以及系统使用DHCP分配IP地址时掌握当前所有的TCP/IP网络配置情况,以便及时了解整个网络的运行情况,以确保网络的连通性,保证整个网络的正常运行。在Windows 2003中提供了以下命令行程序。 (1) ping:用于测试计算机之间的连接,这也是网络配置中最常用的命令; (2) ipconfig:用于查看当前计算机的TCP/IP配置; (3) netstat:显示连接统计; (4) tracert:进行源主机与目的主机之间的路由连接分析; (5) arp:实现IP地址到物理地址的单向映射。 四.实验参考步骤 1.Ping命令 Ping用于确定网络的连通性。命令格式为:Ping 主机名/域名/IP地址 一般情况下,用户可以通过使用一系列Ping命令来查找问题出在什么地方,或检验网络运行的情况时。典型的检测次序及对应的可能故障如下: (1)ping 127.0.0.1:如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或运行存在某些最基本的问题。 (2)ping 本机IP:如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。 (3)ping 局域网内其它IP:如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。 (4)ping 网关IP:这个命令如果应答正确,表示局域网中的网关或路由器正在运行并能够做出应答。 (5)ping 远程IP:如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet。 (6) ping localhost:localhost是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这点,则表示主机文件(/Windows/host)存在问题。 (7)Ping https://www.doczj.com/doc/3c2245145.html,(一个著名网站域名):对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或DNS服务器有故障。 如果上面所列出的所有Ping命令都能正常运行,那么计算机进行本地和远程通信基本上就

linux下 实现traceroute

1.#include 2.#include 3.#include 4.#include 5.#include 6.#include 7.#include 8.#include 9.#include 10.#include 11.#include 12.#include 13.#include 14. 15.struct ip 16.{ 17.#if __BYTE_ORDER == __LITTLE_ENDIAN 18. unsigned int ip_hl:4; /* little-endian IP头长度(单位 为32位)4位 */ 19. unsigned int ip_v:4; /* 版本号4 IP4用4 */ 20.#endif 21.#if __BYTE_ORDER == __BIG_ENDIAN 22. unsigned int ip_v:4; /* version */ 23. unsigned int ip_hl:4; /* header length */ 24.#endif 25. u_int8_t ip_tos; /* 服务类型一般为0 */ 26. u_short ip_len; /* 数据总长度 (单位为32位) */ 27. u_short ip_id; /* 标识16 */ 28. u_short ip_off; /* 分段偏移*/ 29.#define IP_RF 0x8000 /* reserved fragment标 志 */ 30.#define IP_DF 0x4000 /* dont fragment flag */ 31.#define IP_MF 0x2000 /* more fragments flag */ 32.#define IP_OFFMASK 0x1fff /* mask for fragmenting bits */ 33. u_int8_t ip_ttl; /* 生存时间 */ 34. u_int8_t ip_p; /* 传输协议 tcp是6 */ 35. u_short ip_sum; /* 头校验和 */ 36.struct in_addr ip_src, ip_dst; /* 源地址目标地址 */ 37.}; 38. 39.struct icmp 40.{ 41.u_int8_t type; /* 消息类型 */

traceroute程序设计与实现

Traceroute程序设计与实现 学生姓名: 莫小锋指导老师:龙计征 摘要本文主要讲述了路由追踪的基本程序设计与实现,并给出了一种基于IP网络的路由追踪命令Tr acert,详细分析了实现路由追踪的基本原理,归纳了路由追踪的基本流程。Tr acert通过ICMP协议和IPheader中TTL(存活时间)利用路由器对数据报存活时间的处理方式来实现路由探测的。首先根据任务书设计好流程图,然后编写程序代码,运行得到Traceroute的命令窗口。提取tracert 的输出,再结合现有IP数据库及自建地名- 坐标数据库对路由中各节点IP进行定位,最终实现了动态显示追踪的详细信息和路径。 关键词: IP 地址,ICMP协议,TTL,Tracert路由追踪

1 引言 Internet,是目前世界上最大的计算机网络,更确切的说是网络中的网络,它由遍布全球的几万局域网和数百万台计算机组成,并通过用于异构网络的TCP/IP协议进行网间通信。互联网中,信息的传送是通过网中许多段的传输介质和设备从一端到达另一端。每一个连接在Internet上的设备,如主机、路由器、接入服务器等一般情况下都会有一个独立的IP地址。通过Traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路劲。当然每次数据包由某一同样的出发点到达某一同样的目的地走的路劲可能会不同,但基本上来说大部分时候所走的路由是相同的。随着Internet(国际互联网)的发展,越来越多的服务通过网络提供给大众,与此同时,针对互联网的攻击事件也越来越频繁。所谓路由追踪实际上就是在IP网络上判断从源到达目的所经过的路由器的IP地址,其基本的实现手段都是向目的地发送数据包以获取经过的路由器的IP。由于Internet上的路由协议是动态的,所以每次形成的数据包从同一个出发点到达目的地的路由可能会不一样,但由于路由算法有一定的稳定性,在大部分时侯所走的路由会是相同的。 1.1 课程设计目的 1.这次课程设计,主要为了加深同学们对计算机网络网络的理解和认识 2.了解信息在计算机网络与网络之间的传送和接收 3.进一步加深了解网络与网络之间的协议 4.理解网络中的IP地址以及路由之间的相关命令。 1.2 课程设计内容 1.已知参数:输入:目的节点IP地址或主机名;输出:从控制台屏幕输出IP 报文由本机出发到达目的主机所经过的路由信息。 2.设计要求:通过原始套接字编程,实现Tracert的基本功能

Linux下软件安装详解(精)

Linux下软件安装详解 在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip 压缩过的tar包(后缀为.tar.gz。 2另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器,后缀是.rpm。 当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。 下面,我们就分成两个部分来说明软件安装思路: 第一部分:搞定.tar.gz 1.首先,使用tar -xzvf来解开这个包,如: #tar -xzvf apache_1_3_6_tar.gz 这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似,用来存放解压了的内容。如本例中就是apache_1.3.6 2.进入这个目录,再用ls命令查看一下所包含的文件,如: #cd apache_1.3.6 #ls 你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。 1如果是configure文件,就执行:

#./configure #make #make install 2如果是Makefile文件,就执行: #make #make install 3如果是 Imake文件,就执行: #xmkmf #make #make install 3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README,或者问问我,:- 如果遇到错误提示,也别急,通常是十分简单的问题: 1没有安装C或C++编译器; 确诊方法:执行命令gcc(C++则为g++,提示找不到这个命令。 解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令: #rpm -ivh gcc* (哈哈,我们用到了第二种安装方式 2没有安装make工具; 确诊方法:执行命令make,提示找不到这个命令。

Ping命令详解

Ping (Packet Internet Gopher) 網路封包測試相關資料 可用來測試遠端的主機是否存在,判斷網路是否正常 測試方法: 啟動DOS模式> 輸入PING 210.70.11.249 指令名稱ping 使用權限任何有效之使用者 使用方式ping [-dfnqrRv] [-c <完成次數>] [-ig<間隔秒數>] [-I <網路介面>][-l <前置載入>] [-p <筥本樣式>] [-s <封包大小>] [-t <存活數值>] [主機名稱或IP位址] 說明使用ICMP(Internet Control Message Protocol) 傳輸協定,偵測遠端主機的網路功能是否正常,而給予回應訊息。 參數 -c 設定完成要求回應的次數。此指令會反覆發出訊息,直到完成的次數為止。 -q 不顯示指令執行過程,除開始和結束之相關訊息外。 -s 設定封包大小。 -v 顯示指令執行詳細過程,包括非回應訊息的資訊皆會被列出。 筥例1.偵測192.168.1.1的網路功能是否正常: * ping 192.168.1.1 Windows網路管理 -------------------------------------------------------------------------------- 作者:李忠憲mailto:shane@https://www.doczj.com/doc/3c2245145.html,.tw -------------------------------------------------------------------------------- 前言 過去系統管理師主要負責業務是校務行政系統的管理、訓練,有些學校系統管理師尚且兼管電腦教室,TANet到中小學後,系統管理師又兼網路管理師,部分教室電腦試行學校,系統管理師另須負責教室電腦的管理維護之責。簡單的說,目前系統管理師一人所負責的業務,幾近於一家社區電腦公司的工作量,這當然不是一般人能夠做的事。因此除非有濃厚的興趣,否則系統管理師通常都做不長久,在這樣的環境中,系統管理師還必須努力求新知,以免被工作淘汰。 筆者也當過系統管理師,所以能夠體認系統管理師的辛苦,希望此文能對系統管理師微有幫助! 網路規劃

ubuntu用源码安装软件

在Ubuntu中附带了丰富的软件,这些软件一般使用图形化的自动方式(“添加/删除”或“新立得”)即可轻松安装,但是对于那些刚刚问世的新软件,Ubuntu的源中还未 收录其中,这时我们就需要用到一种更通用的安装方式:通过手工方式从源文件来安装这些 软件。下面就介绍这种手工安装方式的详细步骤。 一、安装编译程序 因为要编译源代码,所以第一步就是安装编译和构建之类的程序。如果你已经安装过了,可以跳过此步。在Ubuntu系统中非常简单,只要执行下面命令就行了: $ sudo apt-get install build-essential 该命令执行后,从源文件安装软件所需的工具,如gcc、make、g++及其他所需软件就 安装好了。 二、下载并编译软件的源代码 当我们下载源文件时,一定要弄清该软件所依赖的库文件和其他程序,并且首先将它们 装好。这些信息,通常都能在该开源项目的主页上查找到。做好这些准备工作后,我们就可 以进行下面的工作了。因为,软件的源代码通常以压缩文件形式发布,所以需要将其解压到 指定目录。命令如下所示: OwnLinux@ubuntu:~$ tar xvzf program.tar.gz OwnLinux@ubuntu:~$ cd program/ 如果你的对tar命令不熟悉请点击这里阅读《tar命令详解》 在Linux下从源文件安装程序时,有一个通用模式,即配置(。/configure)–>编译(make)–>安装(sudo make install)。但是,此前你最好还是阅读源文件中附带的安 装说明,因为对于每个程序,其开发者的指示才是最具权威性的。程序开发者通常将安装说 明存放在名为INSTALL或README.到哪里找这些文件呢?它们在项目主页或源代码主目录中 都能找到。 1.配置 构建应用的第一步就是执行configure脚本,该脚本位于程序源文件的主目录下: OwnLinux@ubuntu:~/program$ ./configure 该脚本将扫描系统,以确保程序所需的所有库文件业已存在,并做好文件路径及其他所 需的设置工作。如果程序所需的库文件不完全,该配置脚本就会退出,并告诉您还需要哪些 库文件或者是哪些版本太旧需要更新。如果遇到这种情况,仅弄到含有该库文件的软件包还 是不够的,同时还要找到具有该库文件所有头文件的开发包,在Ubuntu中,这样的包一般 以-dev作为文件名的结尾。安装好所有需要的库文件后,重新运行配置脚本,直到没有错 误提示为止,这说明需要的库文件已经全部安装妥当了即满足了依赖关系。 2.编译 当配置脚本成功退出后,接下来要做的就是编译代码了。具体操作为在源文件的主目录 中运行make命令: OwnLinux@ubuntu:~/program$ make 这时,您会看到一串编译输出数据迅速从屏幕上滚过,如果正常的话,系统会返回的提 示符状态。然而,如果编译过程中出现错误的话,排错的过程可就不像配置步骤那么简单了。因为,这通常要涉及到源代码的调试,可能源代码有语法错误,或其他错误等等。怎么办? 如果您是编程高手,那就自己调试吧!否则,检查该软件的邮件列表等支持渠道,看看是不 是已知的bug,如果是就看看别人是怎么解决的,不是就提交一份bug报告吧,也许不久就 会有解决办法。 3.安装

PING和TRACEROUTE命令详解

本文转载自56CTO 引言:这个文档介绍了ping和traceroute命令的用法。借助于一些debug命令,此文档捕获了一个关于这些命令如何工作的更多相关细节的视图。 注意:在产品路由器上启用任何debug命令都将引起一系列问题。我们建议你在实行debug 命令之前先仔细阅读Use the Debug Command 章节。 前提条件:在本文档中没有特别的要求。 组件:使用本文档没有特殊软件或者是硬件版本的限制。 本文档中的信息是由一个具体的实验环境设备产生的。文档中所有设备的使用都是从默认配置开始的。如果你的网络是活动的,请确保你能够了解任何命令产生的潜在影响。 协定:关于文档协定的更多信息,请浏览相关Cisco Technical Tips Conventions. 关于本文档的背景信息,我们使用如下的基本配置作为我们的例子的基础。 PING命令 Ping命令是一个很常见的命令,用于排除设备可访问性的故障。它使用一系列的ICMP响应消息来确定: ·一个远程主机是否处于活动状态。 ·主机通信的往返路程延迟。 ·包丢失。 Ping命令首先发送一个响应请求到一个地址,然后等待答复。要ping成功,只有: ·响应请求到达目的地址,并且 ·目的地址在一个称作超时(time out)的预设时间内能够获得一个响应应答返回给源地址,在Cisco路由器上,这个超时的默认值是2秒。 关于此命令的所有选项,在Troubleshooting Commands中,见“Ping”。 警告:在产品路由器中使用debug ip packet detail命令会引致CPU的高利用率。这样可能会导致一个严重的性能降级或者网络中断。我们建议你在实行debug命令前仔细阅读Use the Debug Command。 Router1#debug ip packet detail IP packet debugging is on (detailed)Router1#ping 12.0.0.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 12.0.0.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 4/6/8 ms Router1# Jan 20 15:54:47.487: IP: s=12.0.0.1 (local), d=12.0.0.2 (Serial0), len 100, sendingJan 20 15:54:47.491: ICMP type=8, code=0!--- This is the ICMP packet 12.0.0.1 sent to 12.0.0.2. !--- ICMP type=8 corresponds to the echo message. Jan 20 15:54:47.523: IP: s=12.0.0.2 (Serial0), d=12.0.0.1 (Serial0), len 100, rcvd 3Jan 20 15:54:47.527: ICMP type=0, code=0!--- This is the answer we get from 12.0.0.2. !--- ICMP type=0 corresponds to the echo reply message.

实验六常用网络命令使用

实验六常用网络命令使用 一、实验目的: ?了解系统网络命令及其所代表的含义,以及所能对网络进行的操作。 ?通过网络命令了解网络状态,并利用网络命令对网络进行简单的操作。 二、实验设备 实验机房,计算机安装的是 Windows 2000 或 XP 操作系统 三、背景知识 windows 操作系统本身带有多种网络命令,利用这些网络命令可以对网络进行简单的操作。需要注意是这些命令均是在 DOS 命令行下执行。本次实验学习两个最常用的网络命令。 1 、 ARP: 显示和修改 IP 地址与物理地址之间的转换表 ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if_addr] ARP -a [inet_addr] [-N if_addr] -a 显示当前的 ARP 信息,可以指定网络地址,不指定显示所有的表项 -g 跟 -a 一样 . -d 删除由 inet_addr 指定的主机 . 可以使用 * 来删除所有主机 . -s 添加主机,并将网络地址跟物理地址相对应,这一项是永久生效的。 eth_addr 物理地址 . if_addr 网卡的 IP 地址 InetAddr 代表指定的 IP 地址 2 、 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 指定的计算机直到中断。 -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 的远程计算机。 较一般的用法是 ping –t https://www.doczj.com/doc/3c2245145.html, 四、实验内容和要求 ?利用 Ping 命令检测网络连通性 ?利用 Arp 命令检验 MAC 地址解析 五、实验步骤:

linux下编写c源程序并编译运行

姓名:雨田河南大学rjxy 班级:XXXX 实验二Linux基本操作 实验二Linux基本操作 编写c源程序并用编译运行 【需求】 ◆在当前目录下创建新文件t.c,用vi编辑器一段简单代码,代码要求在屏幕上输出 文字“Hello Linux!”; ◆用gcc编译t.c文件,并运行,查看输出结果,若结果错误,请根据提示修改;【系统及软件环境】 操作系统:Virtualbox,Fedora 13 【实验配置文件及命令】 1.配置文件: 2.命令:touch、rpm、gcc、./等

进入Linux操作系统,应用程序-> 系统工具-> 终端,输入命令:su 输入密码切换到root超级用户。 1.在当前目录建立一个新的目录test:$ mkdir test 在test目录下建立文件t.c :$touch t.c 3编辑程序源代码:vi t.c 首先按下键盘的“i”键,字符界面下方出现“insert”提示字符,此时输入以下代码: #include "stdio.h" int main() { printf("Hello Linux!\n"); return 0; } 4 保存退出:先按下“Esc”键,然后按下“shift”和“:”键,界面上出现冒号,然后输入“xq!”或者“x”对代码保存退出。 5 由于系统默认没有安装C语言编译程序,下面进行安装gcc 程序; 此处不再赘述,以下引用实验指导书: 1.gcc的安装 (1)查看gcc是否安装 rpm –q gcc (2)指定安装源 在“系统-分配光驱”里选择“Fedora-13-i386-DVD.iso” (3)查看安装源挂载位置 df命令,可查看到虚拟光驱挂载点 返回结果为:/media/Fedora 13 i386 DVD (4)使用安装源 安装的文件为RPM安装包,所在位置为安装光盘中的“Packages”目录下,可用“cd”命令进入此目录 cd /media/ Fedora 13 i386 DVD/Packages ★由于“Fedora 13 i386 DVD”名字中有空格,若直接输入,则会提示找不到此目录,可用“tab”键自动补全 【方法】cd /media/F)/P() 则可返回如下结果: cd /media/Fedora\ 13\ i386 \DVD\ /Packages (5)查看当前目录下是否有gcc安装包

常用网络命令使用技巧详解

常用网络命令使用技巧详解 我想大家不会忘记Windows是从简单的DOS字符界面发展过来的。虽然我们平时在使用Windows操作系统的时候,主要是对图形界面进行操作,但是DOS命令我们仍然非常有用,下面就让我看来看看这些命令到底有那些作用,同时学习如何使用这些命令的技巧。 一、Ping命令的使用技巧 Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,我们就可以推断TCP/IP参数是否设置得正确以及运行是否正常。需要注意的是:成功地与另一台主机进行一次或两次数据报交换并不表示TCP/IP配置就是正确的,我们必须执行大量的本地主机与远程主机的数据报交换,才能确信TCP/IP的正确性。 简单的说,Ping就是一个测试程序,如果Ping运行正确,我们大体上就可以排除网络访问层、网卡、MODEM的输入输出线路、电缆和路由器等存在的故障,从而减小了问题的范围。但由于可以自定义所发数据报的大小及无休止的高速发送,Ping也被某些别有用心的人作为DDOS(拒绝服务攻击)的工具,例如许多大型的网站就是被黑客利用数百台可以高速接入互联网的电脑连续发送大量Ping数据报而瘫痪的。 按照缺省设置,Windows上运行的Ping命令发送4个ICMP(网间控制报文协议)回送请求,每个32字节数据,如果一切正常,我们应能得到4个回送应答。 Ping能够以毫秒为单位显示发送回送请求到返回回送应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接速度比较快。Ping还能显示TTL(Time To Live存在时间)值,我们可以通过TTL值推算一下数据包已经通过了多少个路由器:源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128,而源地点到目标地点要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。 1、通过Ping检测网络故障的典型次序 正常情况下,当我们使用Ping命令来查找问题所在或检验网络运行情况时,我们需要使用许多Ping命令,如果所有都运行正确,我们就可以相信基本的连通性和配置参数没有问题;如果某些Ping命令出现运行故障,它也可以指明到何处去查找问题。下面就给出一个典型的检测次序及对应的可能故障: ·ping 127.0.0.1

常见的9个网络命令详解(图)

实验:常见的9个网络命令 1.ping命令 ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping 运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。 ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。 (1) 命令格式 ping 主机名 ping 域名 ping IP地址 如图所示,使用ping命令检查到IP地址210.43.16.17的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。 (2) ping命令的基本应用 一般情况下,用户可以通过使用一系列ping命令来查找问题出在什么地方,或检验网

络运行的情况。 下面就给出一个典型的检测次序及对应的可能故障: ① ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。 ② ping 本机IP地址 如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。 ③ ping局域网内其他IP 如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。 ④ ping 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。 ⑤ ping 远程IP 如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。 ⑥ ping localhost local host是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。 ⑦ ping https://www.doczj.com/doc/3c2245145.html,(一个著名网站域名) 对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或它所访问的DNS服务器有故障 如果上面所列出的所有ping命令都能正常运行,那么计算机进行本地和远程通信基本上就没有问题了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。 (3)ping命令的常用参数选项 ping IP -t:连续对IP地址执行ping命令,直到被用户以Ctrl+C中断。 ping IP -l 2000:指定ping命令中的特定数据长度(此处为2000字节),而不是缺

RedHat Linux如何安装软件

RedHat Linux如何安装软件 先来看看Linux软件扩展名。软件后缀为.rpm最初是Red Hat Linux提供的一种包封装格式,现在许多Linux发行版本都使用;后缀为.tar.gz、tar.Z、tar.bz2或.tgz 是使用Unix系统打包工具tar打包的;后缀为.bin的一般是一些商业软件。通过扩展名可以了解软件格式,进而了解软件安装。 RPM格式软件包的安装 1.简介 几乎所有的Linux发行版本都使用某种形式的软件包管理安装、更新和卸载软件。与直接从源代码安装相比,软件包管理易于安装和卸载;易于更新已安装的软件包;易于保护配置文件;易于跟踪已安装文件。【LINUX公社https://www.doczj.com/doc/3c2245145.html,】 PM全称是Red Hat Package Manager(Red Hat包管理器)。RPM本质上就是一个包,包含可以立即在特定机器体系结构上安装和运行的Linux软件。 2.安装RPM包软件 #rpm -ivh MYsoftware-1.2 -1.i386.rpm RPM命令主要参数: -i 安装软件。 -t 测试安装,不是真的安装。 -p 显示安装进度。 -f 忽略任何错误。 -U 升级安装。 -v 检测套件是否正确安装。 这些参数可以同时采用。更多的内容可以参考RPM的命令帮助。 3.卸载软件 #rpm -e 软件名 需要说明的是,上面代码中使用的是软件名,而不是软件包名。例如,要卸载software-1.2.-1.i386.rpm这个包时,应执行: #rpm -e software 4.强行卸载RPM包 有时除去一个RPM是不行的,尤其是系统上有别的程序依赖于它的时候。如果执行命令会显示如下错误信息: ## rpm -e xsnow error: removing these packages would break dependencies: /usr/X11R6/bin/xsnow is needed by x-amusements-1.0-1 在这种情况下,可以用--force选项重新安装xsnow: ## rpm -ivh --force xsnow-1.41-1.i386.rpm xsnow 这里推荐使用工具软件Kleandisk,用它可以安全彻底清理掉不再使用的RPM包。 5.安装.src.rpm类型的文件 目前RPM有两种模式,一种是已经过编码的(i386.rpm),一种是未经编码的(src.rpm)。 rpm --rebuild Filename.src.rpm 这时系统会建立一个文件Filenamr.rpm,在/usr/src/redflag/RPMS/子目录下,一般是i386,具体情况和Linux发行版本有关。然后执行下面代码即可:

常用网络命令-非常实用

常用网络命令-非常实用 很多的弱电朋友在项目中经常会遇到一些网络故障,其实很多的网络故障通过命令是可以检测出来的,通过使用网络命令也会使项目进展事半功倍,那么就让我们一起来了解弱电经常会用到的网络命令。 1、ping命 ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的范围。 ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。 (1)命令格式 ping主机名 ping域名 pingIP地址 如图所示,使用ping命令检查到IP地址210.43.16.17的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。

(2) ping命令的基本应用 一般情况下,用户可以通过使用一系列ping命令来查找问题出在什么地方,或检验网络运行的情况。 下面就给出一个典型的检测次序及对应的可能故障: ①ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。 ②ping 本机IP地址 如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。 ③ping局域网内其他IP 如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。 ④ping 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。 ⑤ping 远程IP 如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS 会有问题)。

相关主题
文本预览
相关文档 最新文档