当前位置:文档之家› Linux网络协议分析工具tcpdump和tshark用法

Linux网络协议分析工具tcpdump和tshark用法

Linux网络协议分析工具tcpdump和tshark用法Tcpdump是网络协议分析的基本工具。tshark是大名鼎鼎的开源网络协议分析工具wireshark(原名叫ethereal)的命令行版本,wireshark 可对多达千余种网络协议进行解码分析。Wireshark和tcpdump均使用libpcap库(参见libpcap编程教程)进行网络截包。TCPDUMP 详细manpage参见tcpdump网站。基本用法Tcpdump的参数基本分为两块:选项(options)和过滤器表达式(filter_expression)Tcpdump是网络协议分析的基本工具。tshark是大名鼎鼎的开源网络协议分析wireshark(原名叫ethereal)的命令行版本,wireshark可对多达千余种网络协议进行解码分析。Wireshark和tcpdump均使用libpcap库(参见libpcap编程教程)进行网络截包。

TCPDUMP

详细manpage参见tcpdump网站。

基本用法

Tcpdump的参数基本分为两块:选项(options)和过滤器表达式(filter_expression)。

# tcpdump [options] [filter_expression]

例如

# tcpdump -c 100 -i eth0 -w log tcpdst port 50000

其中options部分参数:

-c 100 指定截取的包的数量

-i eth0 指定监听哪个网络端口

-w log 输出到名为log的文件中(libpcap格式)

filter_expression参数为tcpdst port 50000,即只监听目标端口为50000的tcp包。

更多的例子:

/* 监视目标地址为除内网地址(192.168.3.1-192.168.3.254)之外的流量*/

# tcpdumpdst net not 192.168.3.0/24

/*

监视除HTTP浏览(端口80/8080)、SSH(22)、POP3(110)之外的流量,注意在括号(之前添加转义符\, -n和-nn的解释见随后

*/

# tcpdump -n -nn port not \(www or 22 or 110\)

# tcpdump -n -nn port ! \(www or 22 or 110\)

/* 监视源主机MAC地址为00:50:04:BA: 9B的包*/

# tcpdump ether src 00:50:04:BA: 9B

/* 监视源主机为192.168.0.1并且目的端口不是telnet的包*/

# tcpdumpsrc host 192.168.0.1 and dst port not telnet

ipicmparprarp和tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。例如:

# tcpdumpipsrc…… //只过滤数据-链路层上的IP报头

# tcpdumpudp and src host 192.168.0.1 //只过滤源主机192.168.0.1的所有udp报头

TcpDump提供了很多options参数来让我们选择如何处理得到的数据,如下所示:

-l 将数据重定向。如tcpdump -l > tcpcap.txt将得到的数据存入tcpcap.txt文件中。

-n 不进行IP地址到主机名的转换。如果不使用这一项,当系统中存在某一主机的主机名时,TcpDump会把IP地址转换为主机名显示,就像这样:eth0 <ntc9.1165>http://biz.doczj.com/doc/337833186.html,.telnet,使用-n后变成了:eth0 <192.168.0.9.1165 >192.168.0.1.telnet。

-nn不进行端口名称的转换。上面这条信息使用-nn后就变成了:eth0 <ntc9.1165 >http://biz.doczj.com/doc/337833186.html,.23。

-N 不打印出默认的域名。还是这条信息-N 后就是:eth0 <ntc9.1165 >router.telnet。

-O 不进行匹配代码的优化。

-t 不打印UNIX时间戳,也就是不显示时间。

-tt打印原始的、未格式化过的时间。

-v 详细的输出,也就比普通的多了个TTL和服务类型。

参数详解

tcpdump采用命令行方式,它的命令格式为:

tcpdump [ -adeflnNOpqStvx ] [ -c 数量] [ -F 文件名]

[ -i 网络接口] [ -r 文件名] [ -s snaplen ]

[ -T 类型] [ -w 文件名] [表达式]

-a 将网络地址和广播地址转变成名字;

-d 将匹配信息包的代码以人们能够理解的汇编格式给出;

-dd将匹配信息包的代码以c语言程序段的格式给出;

-ddd将匹配信息包的代码以十进制的形式给出;

-e 在输出行打印出数据链路层的头部信息;

-f 将外部的Internet地址以数字的形式打印出来;

-l 使标准输出变为缓冲行形式;

-n 不把网络地址转换成名字;

-t 在输出的每一行不打印时间戳;

-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;

-vv输出详细的报文信息;

-c 在收到指定的包的数目后,tcpdump就会停止;

-F 从指定的文件中读取表达式,忽略其它的表达式;

-i 指定监听的网络接口;

-r 从指定的文件中读取包(这些包一般通过-w选项产生);

-w 直接将包写入文件中,并不分析和打印出来;

-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc(远程过程

调用)和snmp(简单网络管理协议;)

tcpdump的表达式介绍

表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表

达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会

被截获。

在表达式中一般如下几种类型的关键字,一种是关于类型的关键字,主要包括host,

net,port, 例如host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0 指明

202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是

host.

第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,

这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.

48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则

缺省是src or dst关键字。

第三种是协议的关键字,主要包括fddi,ip ,arp,rarp,tcp,udp等类型。Fddi 指明是在

FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是

"ether"的别名,fddi和e

ther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether 的包进行处理和分析。

其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会

监听所有协议的信息包。

除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,

greater,还有三种逻辑运算,取非运算是'not ' '! ', 与运算是'and','&&';或运算是'o

r' ,'||';

这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来

说明。

(1)想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:#tcpdump host 210.27.48.1

(2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令

:(在命令行中适用括号时,一定要

#tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)

(3) 如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包

,使用命令:

#tcpdumpip host 210.27.48.1 and ! 210.27.48.2

(4)如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:

#tcpdumptcp port 23 host 210.27.48.1

tcpdump的输出结果介绍

下面我们介绍几种典型的tcpdump命令的输出信息

(1) 数据链路层头信息

使用命令#tcpdump --e host ice

ice是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A

H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条

命令的输出结果如下所示:

21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.

telne

t 0:0(0) ack 22535 win 8760 (DF)

分析:21:50:12是显示的时间,847509是ID号,eth0 <表示从网络接口eth0 接受该

数据包,eth0 >表示从网络接口设备发送数据包, 8:0:20:79:5b:46是主

机H219的MAC地址,它

表明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的

目的地址是ICE . ip是表明该数据包是IP数据包,60 是数据包的长度, h219.33357 > ice.

telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535

表明对序列号是222535的包进行响应. win 8760表明发送窗口的大小是8760.

(2) ARP包的TCPDUMP输出信息

使用命令#tcpdumparp

得到的输出结果是:

22:32:42.802509 eth0 >arp who-has route tell ice (0:90:27:58:af:1a) 22:32:42.802902 eth0

:1a)

分析: 22:32:42是时间戳, 802509是ID号, eth0 >表明从主机发出该数据包, arp表明是

ARP请求包, who-has route tell ice表明是主机ICE请求主机ROUTE的MAC地址。0:90:27:5

8:af:1a是主机ICE的MAC地址。

(3) TCP包的输出信息

用TCPDUMP捕获的TCP包的一般输出信息是:

src>dst: flags data-seqnoack window urgent options

src>dst:表明从源地址到目的地址, flags是TCP包中的标志信息,S 是SYN标志, F (F

IN), P (PUSH) , R (RST) "." (没有标记); data-seqno是数据包中的数据的顺序号, ack是

下次期望的顺序号, window是接收缓存的窗口大小, urgent表明数据包中是否有紧急指针.

Options是选项.

(4) UDP包的输出信息

用TCPDUMP捕获的UDP包的一般输出信息是:

route.port1 > ice.port2: udplenth

UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP,包的长度是lenth

Tshark

详细参数参见tshark的manpage。

// 列出可监听流量的网络接口列表。tshark使用1,2,...等数字来标识eth0,eth1...

# tshark -D

// 监听接口eth0上的UDP端口为1234的流量

# tshark -f "udp port 1234" -i 1

tshark的强悍之处在于对协议进行完全解码,甚至对分片的TCP包进行重组再行解码,例如

// 监听接口eth0上目标端口为80的http流量,并将http请求头的host和location打印

# tshark -f "dst port 80" -T fields -e http.host -e http.location -i 1

其中-f 参数指定过滤表达式(即等同tcpdump的filter_expression)-T fields 指定屏幕输出信息类型为指定的协议字段(用-e添加指定字段),仅在wireshark的0.99.6以后的版本支持。

-i 1为指定监听的网络接口为1号

// 监听http流量,仅过滤GET请求, 监听10秒钟,打印出HTTP HOST

和URL

c:\Program Files\Wireshark\tshark.exe -i 4 -n -f "tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420" -T fields -e http.host -e http.request.uri -a duration:10

TCPIP协议在网络中的应用

数学与信息科技学院 《专业技能训练》课程论文 题目:TCP/IP协议在网络中的应用完成人:张健 指导老师:张广斌 专业班级:计算机网络技术1402 完成时间:2016.05.26

TCP/IP协议在网络中的应用 摘要:TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是Internet最基本的协议、Internet国际互联网络的基础,简单地说,就是由网络层的IP协议和传输层的TCP协议组成的。TCP/IP 是供已连接因特网的计算机进行通信的通信协议,是传输控制协议/网际协议。它定义了电子设备(比如计算机)如何连入因特网,以及数据如何在它们之间传输的标准。是互联网中的基本通信语言或协议。它在计算机网络中发挥了重要的作用,本文即概述了TCP/IP协议在网络中的应用。 关键词:TCP/IP;计算机;因特网;应用; The applications of TCP/IP protocol in network Hudan (College o f information science and technology, Hunan Agricultural University, Changsha 410128, China) Abstract:TCP protocol IP(Transmission Control Protocol/Internet Protocol) the simplified, chinese translated name is a transmission control agreement with the agreement, and interconnected network of communication and internet protocols the agreement is the most basic agreement, internet international the internet. In short, with IP network layer of the agreement and the transport layer of the TCP protocol. TCP/IP is for the computers are connected via the internet communications, a transmission control agreement internet protocols. It defines the electronic devices ( such as computer )how the Internet, and the transmission of data between them. Internet standards are the basic communications language or protocols. It is in a computer network played an important role, this provides an overview of the TCP protocol in a network IP applications. Key words:TCP/IP;computer;Internet;application;

Linux下抓包工具tcpdump应用详解

TCPDUMP简介 在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer 工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。 用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer 工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。 Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是必不可少的。所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。 用简单的话来定义tcpdump,就是:dump the traffice on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。 顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。 ----------------------- bash-2.02# tcpdump

网络协议分析题库

第一章练习 1 OSI和ISO分别代表什么含义?它们是什么关系? 2 OSI/RM模型没有被最终采用的原因是什么? 3下面哪些协议属于应用层协议?( B ) A. TCP和UDP B. DNS和FTP C. IP D. ARP 4 Internet最早是在( C ) 网络的基础上发展起来的? A. ANSNET B. NSFNET C. ARPANET D. MILNET 5 当网络A上的主机向网络B上的主机发送报文时, 路由器要检查( B ) 地址 A.端口 B. IP C.物理 D.上述都不是 6.下面哪一个是应用层提供的服务? ( D ) A.远程登录服务 B.文件传送 C.邮件服务 D.上述都是 7要将报文交付到主机上的正确的应用程序, 必须使用( A )地址 A.端口 B. IP C.物理 D.上述都不是 8. 网络应用访问操作系统的常用接口是,实现IP地址到物理地址映射的协议是。 9. 在TCP/IP协议族中,能够屏蔽底层物理网络的差异,向上提供一致性服务的协议是;实现异构网络互联的核心设备是。 10. 在TCP/IP网络中,UDP协议工作在层,DNS协议工作在层。 11判断对错:TCP/IP是一个被广泛采用的网际互联协议标准,仅包含TCP和IP两个协议。() 第二章练习 1 PPP协议是什么英文的缩写?用于什么场合? 2 ISP验证拨号上网用户身份时,可以使用哪些认证协议? 3.PPP协议的通信过程包括哪几个阶段? 4.LCP的用途是什么? 5.PPP是Internet中使用的(1),其功能对应于OSI参考模型的(2),它 使用(3)技术来解决标志字段值出现在信息字段的问题。 (1)A. 报文控制协议 B. 分组控制协议 C. 点到点协议 D. 高级数据链路控制协议 (2)A. 数据链路层 B. 网络层 C. 传输层 D. 应用层

计算机网络ARQ协议模拟实验报告

第五章实验六ARQ协议模拟 [实验目的]:要求学生能够深刻理解ARQ协议,通过模拟软件对ARQ协议有更加具体的理解 [实验要求]:要求学生使用模拟的软件,通过修改不同的参数,查看两个程序通信过程中的丢失和错误包的处理情况,并且能够在实验报告上详述ARQ协议的机制。 [实验内容]: 1.ARQ模拟实验中 学生通过使用模拟信号的软件,查看不同参数情况下通信过程中出现的丢包和发生错误包后相应的客户端是如何处理的,并能够就一种情况在实验报告中详述其整个通信流程,包括校验位的判别,序号的判别,丢失和错包后的重传,ACK,NAK 等。 [实验步骤]: 1、打开XDS.EXE,选择ARO_0程序。

2、设置最小时延为100ms。数据包3实验100ms。数据包5丢失。数据包7差错。 3、发送端点击发送。截图如下:

选择ARQ_6程序,配置以及结果如下:

[实验结果分析]: ARQ_0: 首先,发送方将数据封装成帧。 先发送数据1。其十六进制码为31,二进制码为00110001。由于D6~D0中有3个1,3为奇数,因此校验位D7为1(红色)。蓝色D6-D4代表序号。 由于传输过程采用的是连续ARQ协议,发送方并不等待接收方发回的确认信息,连续将数据2~8发送给接收方,其中看到数据5和数据7丢失。 接着在发送数据8时看到接收方收到数据31H。接收方并不发送ACK。 接着接收到了32H和34H(33H时延),由于不发送ACK,发送方并不知道数据包5丢失,数据包7出现插座,因此接收方收不到35H和37H,最后收到的数据顺序为1 2 4 6 7 3 9 10。 ARQ_6:

网络协议分析软件的使用实验报告

实验报告 项目名称:网络协议分析工具的使用课程名称:计算机网络B 班级: 姓名: 学号: 教师: 信息工程学院测控系

一、实验目的 基于网络协议分析工具Wireshark(原为Ethereal),通过多种网络应用的实际操作,学习和掌握不同网络协议数据包的分析方法,提高TCP/IP协议的分析能力和应用技能。 二、实验前的准备 ● 二人一组,分组实验; ● 熟悉Ping、Tracert等命令,学习FTP、HTTP、SMTP和POP3协议; ● 安装软件工具Wireshark,并了解其功能、工作原理和使用方法; ● 安装任一种端口扫描工具; ● 阅读本实验的阅读文献; 三、实验内容、要求和步骤 3.1 学习Wireshark工具的基本操作 学习捕获选项的设置和使用,如考虑源主机和目的主机,正确设置Capture Filter;捕获后设置Display Filter。 3.2 PING命令的网络包捕获分析 PING命令是基于ICMP协议而工作的,发送4个包,正常返回4个包。以主机210.31.40.41为例,主要实验步骤为: (1)设置“捕获过滤”:在Capture Filter中填写host 210.31.38.94; (2)开始抓包; (3)在DOS下执行PING命令; (4)停止抓包。 (5)设置“显示过滤”: IP.Addr=210.31.38.94 (6)选择某数据包,重点分析其协议部分,特别是协议首部内容,点开所有带+号的内容。(7)针对重要内容截屏,并解析协议字段中的内容,一并写入WORD文档中。

分析:从这个数据包的分析结果来看我们可以得知: 数据包的到达时间为2013年11月28日14:43:15 帧的序号为20411 帧的长度为74bytes(592bits),同时抓取的长度也是74bytes,说明没有丢失数据 目的MAC地址为00:25:11::4b:7a:6e 源MAC地址为00:25:11:4b:7d:6e 使用的协议为Ipv4 网络层的首部长度为20bytes 目的Ip地址为222.31.38.94 源Ip地址为222.31.38.93 数据没有分片说明数据大小没有超过最大传输单元MUT,其中用到了ICMP协议,数据包的生存周期为128 头部校验和为0x01正确 ICMP的校验和为0x01序列号为2304 数据有32bytes 3.3 TRACERT命令数据捕获 观察路由跳步过程。分别自行选择校内外2个目标主机。比如, (1)校内:tracert 210.31.32.8 (2)校外:tracert http://biz.doczj.com/doc/337833186.html,

linux之TCPDUMP网络抓包工具

Linux命令之TCPDUMP抓包 TCPDUMP又称网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。 常用选项 -a 将网络地址和广播地址转变成名字 -d 将匹配信息包的代码以人们能够理解的汇编格式给出 -dd 将匹配信息包的代码以c语言程序段的格式给出 -ddd 将匹配信息包的代码以十进制的形式给出 -e 在输出行打印出数据链路层的头部信息 -f 将外部的Internet地址以数字的形式打印出来 -q 快速打印输出。即打印很少的协议相关信息,从而输出行都比较简短 -t 不显示时间 -l 使标准输出变为缓冲行形式 -n 不把网络地址转换成名字 -s 抓取数据包时默认抓取长度为68字节 -t 在输出的每一行不打印时间戳 -v 输出一个稍微详细的信息,如在ip包中可以包括ttl和服务类型的信息-v v 输出详细的报文信息 -c 在收到指定的包的数目后,tcpdump就会停止

-F 从指定的文件中读取表达式,忽略其它的表达式 -i 指定监听的网络接口 -r 从指定的文件中读取包(这些包一般通过-w选项产生) -w 直接将包写入文件中,并不分析和打印出来 -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议) -n 对地址以数字方式显式,否则显式为主机名,也就是说-n选项不做主机名解析。 -nn 除了-n的作用外,还把端口显示为数值,否则显示端口服务名。 -X 输出包的头部数据,会以16进制和ASCII两种方式同时输出。 -XX 输出包的头部数据,会以16进制和ASCII两种方式同时输出,更详细。 一、不指定任何参数 监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡。这样抓取的结果会非常多,滚动非常快。 [qh@root localhost]$tcpdump 二、监听指定网卡 [qh@root localhost]$tcpdump -i eth0 三、监听指定主机

Tcpdump的安装

Tcpdump的安装(TCP/IP sniffer工具) 在如今众多的黑客技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一。用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。其实,sniffer工具既可以适合于黑客的使用,也同样有利于网络管理员和网络程序员。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。 下面就向大家介绍一个在linux下优秀的嗅探器-------tcpdump.(我们下面的 操作都在redhat 6.2 linux 2.2.14的环境中经过实际测试.) 一. Tcpdump的安装 在linux下tcpdump的安装十分简单,一般由两种安装方式。一种是以rpm 包的形式来进行安装。另外一种是以源程序的形式安装。 1.rpm包的形式安装 这种形式的安装是最简单的安装方法,rpm包是将软件编译后打包成二进制的格式,通过rpm命令可以直接安装,不需要修改任何东西。以超级用户登录,使用命令如下: #rpm -ivh tcpdump-3_4a5.rpm 这样tcpdump就顺利地安装到你的linux系统中。怎么样,很简单吧。 2.源程序的安装 既然rpm包的安装很简单,为什么还要采用比较复杂的源程序安装呢?其实,linux一个最大的诱人之处就是在她上面有很多软件是提供源程序的,人们可以修改源程序来满足自己的特殊的需要。所以我特别建议朋友们都采取这种源程序的安装方法。 ·第一步取得源程序在源程序的安装方式中,我们首先要取得tcpdump 的源程序分发包,这种分发包有两种形式,一种是tar压缩包(tcpdump-3_4a5.tar.Z),另一种是rpm的分发包(tcpdump-3_4a5.src.rpm)。这两种 形式的内容都是一样的,不同的仅仅是压缩的方式.tar的压缩包可以使用如下命令解开: #tar xvfz tcpdump-3_4a5.tar.Z rpm的包可以使用如下命令安装:

网络协议分析与仿真

****** 网络协议分析与仿真 课程设计报告书 院系名称:计算机学院实验内容:网络流量分析学生姓名:*** 专业名称:网络工程班级:**** 学号:********* 时间:20**年**月**日

网络协议分析与仿真课程设计报告 网络流量分析 一、课程设计目的 加深对IP、DSN 、TCP、UDP、HTTP等协议的理解; 掌握流量分析工具的使用,学习基本的流量分析方法。 二、课程设计内容 流量分析 工具:Wireshark(Windows或Linux),tcpdump(Linux) 要求:使用过滤器捕获特定分组;用脚本分析大量流量数据(建议用perl)。 内容:Web流量分析 清除本机DNS缓存,访问某一网站主页,捕获访问过程中的所有分组,分析并回答下列问题(以下除1、3、8、11外,要求配合截图回答): (1)简述访问web页面的过程。 (2)找出DNS解析请求、应答相关分组,传输层使用了何种协议,端口号是多少? 所请求域名的IP地址是什么? (3)统计访问该页面共有多少请求IP分组,多少响应IP分组?(提示:用脚本编程实现) (4)找到TCP连接建立的三次握手过程,并结合数据,绘出TCP连接建立的完整过程,注明每个TCP报文段的序号、确认号、以及SYN\ACK的设置。 (5)针对(4)中的TCP连接,该TCP连接的四元组是什么?双方协商的起始序号是什么?TCP连接建立的过程中,第三次握手是否带有数据?是否消耗了一个 序号? (6)找到TCP连接的释放过程,绘出TCP连接释放的完整过程,注明每个TCP报文段的序号、确认号、以及FIN\ACK的设置。 (7)针对(6)中的TCP连接释放,请问释放请求由服务器还是客户发起?FIN报文段是否携带数据,是否消耗一个序号?FIN报文段的序号是什么?为什么是 这个值? (8)在该TCP连接的数据传输过程中,找出每一个ACK报文段与相应数据报文段的对应关系,计算这些数据报文段的往返时延RTT(即RTT样本值)。根据课本 200页5.6.2节内容,给每一个数据报文段估算超时时间RTO。(提示:用脚本 编程实现) (9)分别找出一个HTTP请求和响应分组,分析其报文格式。参照课本243页图6-12,在截图中标明各个字段。

Tcpdump常用命令及基础故障定位

tcpdump基础 Tcpdump常用命令及基础故障定位3板斧! 在老4k系统和TOS中的.1平台和.8平台(猎豹)支持TCPDUMP命令。 Tcpdump中and、not、or、host、port、grep、-e、-vv参数的使用: 例1:在eth1口抓包,只显示地址为10.1.1.1和icmp协议的报文。 Tcpdump –i eth1 host 10.1.1.1 and icmp 例2:在所有的接口抓包,不显示4000端口的管理报文,和23端口的telnet报文。 Tcpdump –i any not port 4000 and not port 23 (在同时管理的时候很实用) 例3:在eth1口抓包,显示地址为211.1.1.1或10.1.1.1的报文。 Tcpdump –i eth1 host 211.1.1.1 or host 10.1.1.1 (针对MAP前后的地址同时抓包定位时非常实用) 例4:在所有的接口抓包,显示地址为10.1.1.1报文。 Tcpdump |grep host 10.1.1.1 (在adls环境中非常实用,封装了PPPOE的报文也能抓到,但是TOS不支持grep 的参数了) 在tos系统中,X86的平台下才有抓包的工具,-n表示不需要域名解析,加快抓包的速度。 并且-evv比老的4k系统中,能抓到更多的信息,其中还包括校验和。 例5:System tcpdump –i any –evv -n (TOS系统中最后必须加-n的参数,才能保证抓包的速度) 例6:System tcpdump –i ipsec0-n(TOS支持在ipsec0中抓包,来判断数据流是否进入隧道) 例7:System tcpdump –i ppp0-n(TOS支持在ppp0中抓包,来判断数据流是否进入PPPoE的封装) 下面的4个实例,详细阐述了目的地址转换时如何通过TCPDUMP抓包来快速定位故障点。 现场通过抓包来定位故障原因是最准确高效的方法: 下面抓包中,客户端源地址为168.36.126.1MAP地址为209.136.47.12服务器真实地址为11.68.21.12 对于目的地址转换,天融信也俗称为MAP转换。 例1、如果业务、ping都不通,抓包时只有第一个请求报文,没有匹配MAP转换,说明: A: 防火墙没有到真实服务器的路由,而导致不能匹配MAP策略。 B: 或者是防火墙上没有开放对应的访问策略。 TOS# system tcpdump -i any host 168.36.126.1 -n 04:19:03.400000 IP 168.36.126.1 > 209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64 例2、如果业务、ping都不通,抓包是匹配了MAP转换策略,说明: A: 对方的服务没有回应。 B: 或者对方回应了但是路由错误,回应数据包没有到防火墙。 TOS# system tcpdump -i any host 168.36.126.1 -n 04:19:03.400000 IP 168.36.126.1 > 209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64 04:19:03.404216 IP 168.36.126.1 > 11.68.21.12: ICMP echo request, id 10706, seq 4161, length 64 例3、如果业务、ping都不通,抓包显示最后一个报文没有正常转换,说明: A: 防火墙上没有回指路由,而导致最后的报文没有发出。 TOS# system tcpdump -i any host 168.36.126.1 -n 04:19:03.400000 IP 168.36.126.1 >209.136.47.12: ICMP echo request, id 10706, seq 4161, length 64

(参考)应用层网络协议分析

HTTP网页访问的协议分析 在协议模型中,应用层是用户与计算机进行实际通信的地方,只有当马上就要访问网络时,才会实际上用到这一层。例如,我们可以从系统中卸载掉任何联网组件,如TCP/IP、网卡(NIC)等,仍可以使用IE来浏览本地的HTML文档。可如果我们试图浏览必须使用HTTP 的文档,或者用FTP下载一个文件,事情就没那么容易了。此时,IE将尝试访问应用层来响应这一类请求。因此,应用层也可被看作是实际应用程序和下一层(OSI模型中为表示层,TCP/IP模型中为传输层)之间的接口,它通过某种方式把应用程序的有关信息送到协议栈的下面各层。 应用层协议则是实现用户和系统之间接口的工具,用户可通过这些协议方便地访问网络资源,实现信息共享,HTTP则是其中一种。 HTTP(超文本传输协议)是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。 HTTP是基于请求/响应方式的。它的运作方式很简单:一个客户机与服务器建立连接后,发送一个请求给服务器,服务器接到请求后,给予相应的响应报文。其中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。因此,当网络中的任一台拥有可被访问的页面的计算机被其它计算机访问时,它便是服务器,而当它访问其它浏览非本地的HTTP文档时,它便是客户端。因此,我们可以在局域网中搭建简单的环境来观察分析访问HTTP的工作流程。 最简单的情况可能是在用户和服务器之间通过一个单独的连接来完成,如图1-1: 图1-1 根据图连接好以及配好相应IP后,测试网络互通。而后,在server上建立HTTP服务器。首先在控制面板\添加删除程序\添加删除Windows组件中查看Internet信息服务(IIS)是否装上,若没有则安装,若安装好,则可以进入管理工具\Internet服务管理器,在默认WEB站点下建立自己的站点及目录。而后,在client浏览器地址栏中键入http://31.0.0.1便可浏览位于server端默认站点目录下网页。 在此过程中,我们通过Ethereal所抓的数据包如下: 1、数据链路层:

《网络协议分析》课程标准

《网络协议分析》课程标准 课程名称、代码:网络协议分析、 总学时数:36(理论课学时数:18 实践课学时数:18) 学分数:2 适用专业:计算机网络技术、计算机应用技术 一、课程的性质 1、必修课; 2、专业课。 二、课程定位 该课程是作为计算机网络技术专业和计算机应用专业的专业必修课。通过该门课的学习,使学生深入学习TCP/IP协议体系结构和基本概念,分析各个协议的设计思想、流程及其所解决的问题。通过该门课程的学习,进一步提高学生作为网络管理员的技能水平。学生能够胜任中小型企业的网络维护的日常工作。学生应先修《计算机网络基础》一课,掌握计算机网络技术的基础知识后,方可修此门课程。 三、课程设计思路 本课程的设计思路是以计算机专业学生就业为导向,着重培养学生的动手能力。通过调查研究社会对计算机专业学生在网络安全技术方面的要求,制定相关的理论教学内容和实践内容。课程整体结构按照网络管理员工作岗位所涉及到的工作任务,维护中小型局域网正常运作、检测网络故障等工作技能的培养安排课程项目。在学时分配上,理论课时与实践课时各占一半,注重实践教学,有利于提高学生的动手能力,同时也加深了对理论知识的理解,做到知其然并知其所以然。 四、课程基本目标 1、知识目标: (1)知道TCP/IP协议以及工作原理; (2)知道PPP协议以及工作原理; (3)知道Internet地址及地址解析; (4)知道IP协议以及工作原理; (5)知道ICMP协议以及工作原理; (6)知道UDP协议以及工作原理; (7)知道TCP协议以及工作原理; (8)知道Internet地址扩展技术。 2、职业技能目标: (1)能分析PPP协议; (2)能分析ARP协议; (3)能分析IP协议; (4)能分析ICMP协议; (5)能分析UDP协议; (6)能分析TCP协议; (7)能分析HTTP协议。 3、职业素质养成目标

网络通信协议分析与应用试题集6828(1)

解答: 1. OSI标准中,采用的是三级抽象:体系结构,服务定义,协议说明。 2. TCP/IP协议族中,使用了三个不同层次的地址,主机网络层或网络接口层使用了:物理地址(MAC地址)。 3. TCP/IP协议族中,使用了三个不同层次的地址,传输层使用了:端口地址。 4. TCP/IP协议族中,使用了三个不同层次的地址,网络层使用了:逻辑地址(IP地址)。 5. 根据所提供的服务方式的不同,端口又可分为TCP协议端口和UDP协议端口两种。 6. 从端口的性质来分,通常可以分为以下三类,注册端口(Registered Ports)松散地绑 定于一些服务。 7. 从端口的性质来分,通常可以分为三类,FTP和HTTP服务需要使用:公认端口(Well Kno wn Ports)类型。 8. 从端口的性质来分,通常可以分为三类,动态或私有端口(Dynamic and/or Private Po rts)容易被黑客和木马程序利用。 9. 接口是同一结点内相邻层之间交换信息的连接点。 10. CCITT与ISO的工作领域是不同的:CCITT 主要是考虑通信标准的制定。 11. CCITT与ISO的工作领域是不同的:ISO主要是考虑信息处理与网络体系结构。 12. OSI参考模型和TCP/IP参考模型只是描述了一些概念,用来协调进程间通信标准的制定。 13. 通信服务可以分为两大类:面向连接服务(connect-oriented service)和无连接服 务(connectless service)。 14. 网络数据传输的可靠性一般通过确认和重传机制保证。 15. 通信协议包括:面向连接与确认服务;面向连接与不确认服务;无连接与确认服务;无连接与不确认服务四种类型。 16. IP协议是无连接的、提供“尽力而为”服务的网络层协议。 17. 17. INTERNET使用了不同类型的地址概念,应用层使用了域名(DNS)、电子邮件址、URL等地址。 18. 网络协议是由程序和进程来完成的。 19. B类IP地址中的一个私有网络地址,如果需要50个子网,网络掩码应该为(点十进制表示):255.255.252.0 。

tcpdump抓包高级用法

tcpdump抓包高级用法 【表达式】tcpdump –i ethx ether[xx:yy]=0xabcde… -nn 【说明】普通的tcpdump抓包后面直接跟主机,端口或协议等过滤条件,而这种抓包方法在某些环境下是无法使用的,如有QinQ,lwapp,wltp,pppoe等协议封装时,要抓电脑真实IP的数据包便实现不了。高级抓包方法可以满足,特别是在wlan环境下,经过我们设备的数据流都是经过隧道封装的,所以只能用高级抓包方法。高级抓包方法中的过滤条件为ether[xx:yy]=0xabcd….,表示从以太网帧头部开始偏移xx字节后的yy个字节的值是十六进制abcd….。如tcpdump –i eth0 ether[92:4]=0xab0d4f9c –nn,表示在eth0抓取符合下面条件的数据包,从以太网帧第92字节开始,后面4个字节的值为十六进制ab0d4f9c的所有数据包。这种抓包方法要求我们事先算好过滤条件对应的十六进制及其偏移值。下面举个例子说明。 【案例】如附件中的数据包,是wlan环境下隧道封装的数据包,用抓包软件打开只能看到隧道头地址,无法看到隧道内真实的IP地址。隧道内真实的IP所在的段为111.14.0.0/16,现要抓取111.14.236.138这个地址的数据包。 1.将111.14.236.138这个IP地址转换为十六进制为0x6f0eec8a 2.在eth0将所有的数据包抓100个下来(tcpdump –i eth0 –s0 –c 100 –w /tmp/test.pcap),如附件,用wireshark打开,找到隧道内真实IP地址,再算出真实IP地址偏移以太网头的字节数(这里应该会有问到怎样找到隧道内真实的IP头,请参考文章自定义协议剥离配置说明)。 3.这里已经算出来,111.14.0.0/16段的上行数据偏移以太网头92字节,下行数据偏移以太网头96字节,所以抓取111.14.236.138这个地址的所有数据包,tcpdump表达式应该如下:tcpdump –i eth0 ether[92:4]=0x6f0eec8a or ether[96:4]=0x6f0eec8a –nn

《网络协议分析》习题答案

备注:以下给出习题答案作为参考,对于部分习题,读者也可以思考给出更好的答案。 第一章 1. 讨论TCP/IP成功地得到推广和应用的原因 TCP/IP是最早出现的互联网协议,它的成功得益于顺应了社会的需求;DARPA采用开放策略推广TCP/IP,鼓励厂商、大学开发TCP/IP产品;TCP/IP与流行的UNIX系统结合是其成功的主要源泉;相对ISO的OSI模型,TCP/IP更加精简实用;TCP/IP技术来自于实践,并在实践中不断改进。 2. 讨论网络协议分层的优缺点 优点:简化问题,分而治之,有利于升级更新; 缺点:各层之间相互独立,都要对数据进行分别处理;每层处理完毕都要加一个头结构,增加了通信数据量。 3. 列出TCP/IP参考模型中各层间的接口数据单元(IDU) 应用层/传输层:应用层报文; 传输层/IP层:TCP报文段或UDP分组; IP层/网络接口层:IP数据报; 网络接口层/底层物理网络:帧。 4. TCP/IP在哪个协议层次上将不同的网络进行互联? IP层。 5. 了解一些进行协议分析的辅助工具 可在互联网上搜索获取适用于不同操作系统工具,比如Sniffer Pro、Wireshark以及tcpdump等。利用这些工具,可以截获网络中的各种协议报文,并进一步分析协议的流程、报文格式等。 6. 麻省理工学院的David Clark是众多RFC的设计者,在论及TCP/IP标准的形成及效果时,曾经讲过这样一段话:”We reject kings, presidents and voting. We believe in rough consensus and running code.”你对他的观点有什么评价。 智者见智,我认为这就是“实践是检验真理的唯一标准”。 7. 你认为一个路由器最基本的功能应该包含哪些? 对于网桥、网关、路由器等设备的分界已经逐渐模糊。现代路由器通常具有不同类型的接口模块并具有模块可扩展性,由此可以连接不同的物理网络;路由表的维护、更新以及IP数据报的选路转发等,都是路由器的基本功能。此外,路由器厂商应为使用者提供管理功能。 第二章 1. 尝试用Modem拨入某个ISP,并根据你的操作分析PPP的流程 实验题,若有接入ISP的环境,可直接测试;否则,可参考习题4一起测试。 2. 分析PAP和CHAP的优缺点 PAP简单,但安全性差;CHAP相对安全,但开销较大,且需要通信双方首先共享密钥。 3. 了解L2F和L2TP的思想及应用 这两个协议把PPP的两个端点延伸到互联网的任何角落,相当于在TCP/IP的应用层扩展了PPP的范围。其思想是发送方把PPP帧封装到L2F或L2TP报文中,接收方则对其解封以还原PPP帧,这样对于通信的两端来说看到的是PPP帧,相当于在互联网上架设了一条虚拟的PPP链路。它们主要用于构建VPN(虚拟专用网)。 4. 尝试Windows操作系统的“超级终端”功能 Windows超级终端功能在附件/通信功能下。可以用两台有Modem的计算机,各自连接

Tcpdump命令详解

tcpdump用法详解(1) (2006-04-13 14:23:04) 转载 分类:Linux专题 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量] [ -F 文件名] [ -i 网络接口] [ -r 文件名] [ -s snaplen ] [ -T 类型] [ -w 文件名] [表达式] (1). tcpdump的选项介绍 -a 将网络地址和广播地址转变成名字; -d 将匹配信息包的代码以人们能够理解的汇编格式给出; -dd 将匹配信息包的代码以c语言程序段的格式给出; -ddd 将匹配信息包的代码以十进制的形式给出; -e 在输出行打印出数据链路层的头部信息; -f 将外部的Internet地址以数字的形式打印出来; -l 使标准输出变为缓冲行形式; -n 不把网络地址转换成名字; -t 在输出的每一行不打印时间戳; -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息; -vv 输出详细的报文信息; -c 在收到指定的包的数目后,tcpdump就会停止; -F 从指定的文件中读取表达式,忽略其它的表达式; -i 指定监听的网络接口; -r 从指定的文件中读取包(这些包一般通过-w选项产生); -w 直接将包写入文件中,并不分析和打印出来; -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议;)

(2). tcpdump的表达式介绍 表达式是一个正则表达式,tcpdump利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。在表达式中一般如下几种类型的关键字。 第一种是关于类型的关键字,主要包括host,net,port, 例如host 210.27.48.2,指明210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。如果没有指定类型,缺省的类型是host. 第二种是确定传输方向的关键字,主要包括src , dst ,dst or src, dst and src ,这些关键字指明了传输的方向。举例说明,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。 第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和ether具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpdump将会监听所有协议的信息包。 除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater,还有三种逻辑运算,取非运算是'not ' '! ', 与运算是'and','&&';或运算是'or' ,'││';这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。 A想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包: #tcpdump host 210.27.48.1 B想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中适用括号时,一定要 #tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 ) C如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令: #tcpdump ip host 210.27.48.1 and ! 210.27.48.2 D如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令: #tcpdump tcp port 23 host 210.27.48.1

滑动窗口协议书模拟程序的设计实现分析

长沙理工大学 《网络协议编程》课程设计报告 梁碧莹 学生姓名梁碧莹指导教师王静_________ 院计算机与通信工程专 级网络08-02 学 业网络工程 号200858080205

课程成绩______________________ 完成日期2011年7月2旦 课程设计任务书 (4 )在老师的指导下,要求每个学生独立完成课程设计的全部内容

应当提交的文件: (1)课程设计报告。 (2)课程设计附件(源程序、各类图纸、实验数据、运行截图等) 课程设计成绩评定 学院计算机通信工程专业网络工程 班级网络08-02班学号200858080205 学生姓名梁碧莹_______ 指导教师王静________ 课程成绩____________________ 完成日期2011年7月2日 指导教师对学生在课程设计中的评价

指导教师对课程设计的评定意见 综合成绩指导教师签字年月曰 滑动窗口协议模拟程序的设计与实现 学生:梁碧莹指导老师:王静 摘要:本文主要介绍如何根据滑动窗口协议的原理,在Visual C++的平台上设计一个滑动窗口协议模拟程序,并最终使该程序得以实现。本次程序设计分两部分:第一部分是发送方,第二部分是接收方。通过发送方和接收方之间的数据帧 传输模拟,学习滑动窗口协议控制流量的原理和方法,以及滑动窗口协议的工作

机制。 关键词:滑动窗口协议流量控制工作机制模拟程序 Desig n and Impleme ntati on of Slid ing Win dow Protocol Procedures Stude nt: Lia ng Biyi ng In structor: Wang Jing Abstract: This paper describes the prin ciple of Slidi ng Window Protocol and how to design and implement a procedure about the Sliding Win dow Protocol. The program desig n in two parts, one is the sender, the other is the receiver. After all, studying the principle and method of how the Sliding Window Protocol control the flow, and how the Sliding Window Protocol works through the transmission of data betwee n the sen der and the receiver. Keywords: Slidi ng wi ndow protocol Flow con trol Worki ng mecha nism Simulatio n program 目录 1引言 (1) 1.1 滑动窗口协议概述 (1) 1.2 本次设计任务 (2)

什么是网络协议

什么是网络协议
什么是网络协议
篇一:网络协议简介 ICMP 是“InternetControlMessageProtocol”(Internet 控制消息协议)的缩写。它是 TCP/IP 协议族的一个子协议,用于在 IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、 主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是 对于用户数据的传递起着重要的作用。 ICMP 是:Internet 控制信息协议(ICMP)是 IP 组的一个整合部分。通过 IP 包传送的 ICMP 信息主要用于涉及网络操作或错误操作的不可达信息。 ICMP 包发送是不可靠的,所以 主机不能依靠接收 ICMP 包解决任何网络问题。ICMP 不象 TCP 或 UDP 有端口,但它确实含有 两个域:类型(type)和代码(code)。而且这些域的作用和端口也完全不同。Ping 用到的是 ICMP 协议。不是端口。 网络之间互连的协议(IP)是 Internet Protocol 的外语缩写,中文缩写为“网协”. 网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中, 它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进 行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守 IP 协议就可以与因特网互 连互通。IP 地址具有唯一性,根据用户性质的不同,可以分为 5 类。 ARP 协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中 实际传输的是“帧”,帧里面是有目标主机的 MAC 地址的。在以太网中,一个主机要和另一个 主机进行直接通信,必须要知道目标主机的 MAC 地址。但这个目标 MAC 地址是如何获得的呢? 它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标 IP 地址转换成目 标 MAC 地址的过程。ARP 协议的基本功能就是通过目标设备的 IP 地址,查询目标设备的 MAC 地址,以保证通信的顺利进行。 RARP: 局域网中某个主机的物理地址转换为 IP 地址,比如局域网中有一台主机只知道物理地址 而不知道 IP 地址,那么可以通过 RARP 协议发出征求自身 IP 地址的广播请求,然后由 RARP 服 务器负责回答。 RARP 协议广泛用于获取无盘工作站的 IP 地址。RARP 是通过 MAC 地址去向预先设置好 IP 地址与 MAC 地址对应关系的 RARP 服务器询问(获取)自身的 IP 地址,其过程与 ARP 协议的 过程相反,故称为 Reverse ARP(反向 ARP)。 下面的图表试图显示不同的 TCP/IP 和其他的协议在最初 OSI 模型中的位置: FTP:文件传输协议,为文件的传输提供了途径。它允许将数据从一台主机上传到另一台 主机,也可以从 FTP 服务器上下载文件,或者向 FTP 服务器上传文件。端口号 20、21。 Telnet:远程登录协议,实现 Internet 中的工作站登录到远程服务器的能力。端口号 23。 SMTP:简单邮件传输协议,实现 Internet 中电子邮件的传送功能,发送服务器(SMTP)
1 / 11

相关主题