와이어 샤크 Wireshark의 간단한 설명 튜토리얼 (인터페이스 설명 필터 식 디스플레이 필터 식 트래핑)

가이드 와이어 샤크 (인터페이스 설명 필터 식 디스플레이 필터 식 트래핑)

I. 설명

1.1 배경 설명

단지 시간의 측면에서 Wireshark를 시작하는 데 대부분의 사용자의 경우 모든 패킷은 차단 된 느낌이 강한 무적이지만 사용이 무엇을 물어 패킷을 많이 직면하거나 볼 수 있습니다 와이어 샤크의 시작은 종종 나는 완전히 당황한다 (예를 들면 그 패킷 텔넷 로그인 프로세스로) 발견하는 방법의 그 패킷을 찾고 싶어요.

첫째, 윈도우 인터페이스의 무리, 이해하지 못하는 어떤 역할의 차이 무엇을, 두 번째 캡처이며, 디스플레이 필터 식 쇼는 각각의 필터가 오랫동안 찾고 바이두해야한다, 어떤 법을 볼 수 없습니다. 사실, 와이어 샤크 인터페이스는 필터 테이블 쇼를 통해,하지 어려운 매우 분명하다, 우리는이 두 가지 문제는 오늘날 사용을 Wireshark를 중단해야합니다.

공식 웹 사이트 주소 : https://www.wireshark.org/

: 공식 웹 사이트 다운로드 https://www.wireshark.org/#download을

설치는 다음 단계 그것을 다운로드로 다음 일반 창을 말하는 것이 아니다. 천상의 와이어 샤크는 2006 년 이름을 바꾼 이유 참조 : https://www.linux.com/news/ethereal-changes-name-wireshark

 

1.2 로컬 루프 차단 데이터

우리가이 시스템에서 빌드 웹 서비스에 기계를 방문,하지만 우리는 종종 기계의 작동 설정 서비스를 가지고 또한 노트 기계 루프 데이터가 카드를 통해 아닙니다 접근이 기계는 같은 종종 차단 로컬 루프백 패킷이 있는지 링 바 루프백 패킷을 포함에 우리가 원하는, 그래서 요구 사항을 분석 할 수 있습니다. 로 다음 작동합니다.

우선, cmd를 실행하려면 관리자로 (일반 사용자는 라우팅 테이블을 운영 할 수있는 권한이없는, 그것은 "요청한 작업은 고도가 필요합니다"메시지가 표시됩니다)

그런 다음, 로컬 IP와 게이트웨이를 볼 수있는 ipconfig 사용

ipconfig를

그리고, 다음과 같은 명령을 사용하여 경로를 추가하면 루프백 데이터는 (교환 단계, 상기 기계를 사용하여 얻은, 본 IP 게이트웨이 <your_IP> 및 <gateway_IP>)를 제 1 게이트웨이로 전송된다 지정

경로는 추가 <your_IP> 1 메트릭 255.255.255.255 <gateway_IP>을 마스크

마지막으로, 성공적으로 추가 된 라우팅 테이블의 경로를 확인 :

경로 인쇄

게이트웨이를 통해 루프 백 데이터는 상기 다음 명령을 사용하여 (<your_IP> 치환이 로컬 IP를 사용하여 전면을 구하는) 경로를 삭제 카드의 압력을 증가시킬 것이다 :

경로 삭제 <your_IP>

 

둘째, 와이어 샤크 인터페이스 설명

쓰기는 핵심 필터 식 사용 와이어 샤크,하지만 그 전에, 많은 초보자,보고 방법을 모르는 와이어 샤크 인터페이스에서 많은 것을 느끼고 문제가 발생합니다. 하지만 여전히 우리는 다음과 같이 아래에 설명하고자하는 것을 매우 분명하다.

제 1 디스플레이 윈도우 캡쳐 와이어 샤크 모든 패킷의리스트이다. 마지막 정보 열이 열 Wireshark를 조직 것을 참고 반드시 원래의 패킷 콘텐츠가 아닙니다.

창 (2)은 서브 - 계층 프로토콜의 제 1 방송 데이터 패킷들의 선택된 윈도우이다. Wireshark를 열고 체크섬 검증 프로토콜 계층 및 체크섬으로 인해 정확하지 않기 때문에 배경은 빨간색입니다.

도 3은, 소스 데이터 윈도우는 왼쪽은 오른쪽이 16 진수 ASCII 코드이며, 상기 선택된 데이터 패킷의 윈도우 번호 1이다. 또한 필드 또는 강조 될 윈도우의 위치에 대응하는 제 2 윈도우를, 제 3 층을 선택한다.

내용은 가장 어려운 간주됩니다하지만 여전히 2 위 사실에 매우 예로 IP 층에 취소를 참조하는 방법을 모르는 창을 확장하고 있습니다 :

행의 각각의 필드는 계층 프로토콜 될, 행은 이전 필드의 브래킷을 도시한다.

콜론 전에 프로토콜 필드의 영어 이름입니다; 콜론 데이터 패킷의 프로토콜 필드의 값이 후.

 

셋째, 캡처 필터 식

캡처 필터 효과 발현 패킷 캡처에게 자격을 갖춘 데이터 패킷을 캡처를 시작 Wireshark를하기 전에, 기록 데이터 패킷의 조건을 충족하지 않습니다.

캡처 필터 식 디스플레이 필터 식 법률로 명확하지 않다,하지만 너무 많은 표현은 어렵지 않다,하지만 당신은 모든 디스크 공간을 캡처하려는 경우가 아니면 너무 많이 달성 점령, 당신은 패킷 밖으로 아주 명확 필터 당신 원치 않는, 또는 일반적으로 필터 식 및 디스플레이 필터 식을 캡처하지 않습니다.

wireshark2.x 버전의 패킷을 캡처 시작 입력 필터 식에 적용 필터를 포착하는 시작 화면을 시작합니다

그림 "즐겨 찾기"기호를 클릭 한 다음 포인트 관리 "캡처 필터"같이 일반적인 캡처 필터 식의 서면보고

 

넷째, 디스플레이 필터 식 및 기록 두둑을 도시

식 효과 디스플레이 필터는 와이어 샤크 패킷을 캡처 한 후, 캡처 된 데이터를 표시 한 모든 패킷은 규정 된 패킷으로부터 숨겨 정규화 패킷.

표시 필터 툴바 입력 창 아래식이는 "필터"효과 보여

4.1 기본 필터 식

필터에 의한 기본 식은 모든 관계 세 필터 컴포넌트의 값을 필터링한다.

== 192.168.1.1 ip.addr 예를 들어, 발현이 필터 용어 ip.addr이다 관계 여과 == 필터 값 192.168.1.1이고 (전체 표현은 모든 프로토콜 또는 IP의 소스를 식별하는 방법을 도시 복강 타겟팅 같 192.168.1.1 패킷)

4.1.1 필터 상품

"복잡한 필터 식"의 느낌 초보자,이 필터의 가장 중요한 항목은 하나는 알고하지 않으며, 둘째, 내가 어떻게 쓰기 필터 항목에 모르는 필터 항목.

이 두 질문은 일반적인 대답은 -----이 와이어 샤크 필터 항목이 "계약"+ "."+ "프로토콜 필드"모델입니다. 포트는, 예를 들어, TCP 포트는이 필터 항목 포트이며, 그 표현이 tcp.port입니다 계약에 출연했다.

推广到其他协议,如eth、ip、udp、http、telnet、ftp、icmp、snmp等等其他协议都是这么个书写思路。当然wireshark出于缩减长度的原因有些字段没有使用协议规定的名称而是使用简写(比如Destination Port在wireshark中写为dstport)又出于简使用增加了一些协议中没有的字段(比如tcp协议只有源端口和目标端口字段,为了简便使用wireshark增加了tcp.port字段来同时代表这两个),但思路总的算是不变的。而且在实际使用时我们输入“协议”+“.”wireshark就会有支持的字段提示(特别是过滤表达式字段的首字母和wireshark在上边2窗口显示的字段名称首字母通常是一样的),看下名称就大概知道要用哪个字段了。wireshark支持的全部协议及协议字段可查看官方说明

4.1.2 过滤关系

过滤关系就是大于、小于、等于等几种等式关系,我们可以直接看官方给出的表。注意其中有“English”和“C-like”两个字段,这个意思是说“English”和“C-like”这两种写法在wireshark中是等价的、都是可用的。

4.1.3 过滤值

过滤值就是设定的过滤项应该满足过滤关系的标准,比如500、5000、50000等等。过滤值的写法一般已经被过滤项和过滤关系设定好了,只是填下自己的期望值就可以了。

 

4.2 复合过滤表达示

所谓复合过滤表达示,就是指由多条基本过滤表达式组合而成的表达示。基本过滤表达式的写法还是不变的,复合过滤表达示多出来的东西就只是基本过滤表达示的“连接词”

我们依然直接参照官方给出的表,同样“English”和“C-like”这两个字段还是说明这两种写法在wireshark中是等价的、都是可用的。

 

4.3 常见用显示过滤需求及其对应表达式

数据链路层:

筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

网络层:

筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1

筛选192.168.1.0网段的数据---- ip contains "192.168.1"

筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2

筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2

传输层:

筛选tcp协议的数据包----tcp

筛选除tcp协议以外的数据包----!tcp

筛选端口为80的数据包----tcp.port == 80

筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80

筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80

应用层:

特别说明----http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1),http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。

筛选url中包含.php的http数据包----http.request.uri contains ".php"

筛选内容包含username的http数据包----http contains "username"

 

一、说明

1.1 背景说明

对于大多数刚开始接触wireshark的使用者而言,经常是开始的时候时候看到wireshark能把所有数据包都拦截下来觉得强无敌,但是面对一大堆的数据包要问有什么用或者说想要找到我想要的那些数据包怎么找(比如telnet登录过程的那些数据包)则完全是一脸茫然。

一是界面一堆窗口,什么作用什么区别看不懂;二是捕获、显示过滤器表达示看不出有什么规律,每次过滤都要百度找半天。其实wireshark界面还是比较清晰的,过滤器表过示也不困难,我们今天就来破解这wireshark使用的两大难题。

官网地址:https://www.wireshark.org/

官网下载地址:https://www.wireshark.org/#download

安装就不多说了和一般windows一样下一步下一下装就可以了。另外ethereal为什么在2006年更名wireshark参见:https://www.linux.com/news/ethereal-changes-name-wireshark

 

1.2 拦截本地回环数据

另外注意本机访问本机的回环数据是不经过网卡的,比如我们在本机访问搭建在本机上的web服务,但我们经常有服务搭建在本机的操作也经常有拦截本地回环数据包加以分析的需求,所以我们环要拦载回环数据包。操作如下。

首先,以管理员身份运行cmd(普通用户没有路由表操作权限,会提示“请求的操作需要提升”)

然后,使用ipconfig查看本机ip和网关:

ipconfig

再然后,使用以下命令添加路由,指定回环数据也要先转发到网关(使用上一步获取本的本机ip和网关替换其中的<your_IP>和<gateway_IP>):

route add <your_IP> mask 255.255.255.255 <gateway_IP> metric 1

最后,查看路由表中路由是否已添加成功:

route print

回环数据经网关再回来会增加网卡的压力,可使用以下命令删除路由(使用前边获取本的本机ip替换其中的<your_IP>):

route delete <your_IP>

 

二、Wireshark界面说明

过滤器表达式书写是wireshark使用的核心,但在此之前,很多初学者还会碰到一个难题,就是感觉wireshark界面上很多东西不懂怎么看。其实还是挺明了的我们下面简单说一下,如下图。

1号窗口展示的是wireshark捕获到的所有数据包的列表。注意最后一列Info列是wireshark组织的说明列并不一定是该数据包中的原始内容。

2号窗口是1号窗口中选定的数据包的分协议层展示。底色为红色的是因为wireshark开启校验和验证而该层协议校验和又不正确所致。

3号窗口是1号窗口中选定的数据包的源数据,其中左侧是十六进制表示右侧是ASCII码表示。另外在2号窗口中选中某层或某字段,3号窗口对应位置也会被高亮。

被认为最难的其实还是2号窗口展开后的内容不懂怎么看,其实也很明了,以IP层为例:

每一行就对应该层协议的一个字段;中括号行是前一字段的说明。

冒号前的英文是协议字段的名称;冒号后是该数据包中该协议字段的值。

 

三、捕获过滤器表达式

捕获过滤器表达式作用在wireshark开始捕获数据包之前,只捕获符合条件的数据包,不记录不符合条件的数据包。

捕获过滤器表达式没有像显示过滤器表达式那样明显的规律,但写法不多所以也不难;而且除非全部捕获要占用的磁盘空间实现太大,且你非常明确过滤掉的数据包是你不需要的,不然一般都不用捕获过滤器表达式而用显示过滤器表达式。

在wireshark2.x版本,启动后欢迎界面即有捕获过滤器,在其中输入过滤表达式开始捕获数据包时即会生效:

点击图中“书签”标志,再点管理“捕获筛选器”,即可看到常用捕获过滤表达示的书写形式

 

四、显示过滤器表达示及其书写规律

显示过滤器表达式作用在在wireshark捕获数据包之后,从已捕获的所有数据包中显示出符合条件的数据包,隐藏不符合条件的数据包。

显示过滤表达示在工具栏下方的“显示过滤器”输入框输入即可生效

4.1 基本过滤表达式

一条基本的表达式由过滤项、过滤关系、过滤值三项组成。

比如ip.addr == 192.168.1.1,这条表达式中ip.addr是过滤项、==是过滤关系,192.168.1.1是过滤值(整条表达示的意思是找出所有ip协议中源或目标ip、等于、192.168.1.1的数据包)

4.1.1 过滤项

初学者感觉的“过滤表达式复杂”,最主要就是在这个过滤项上:一是不知道有哪些过滤项,二是不知道过滤项该怎么写。

这两个问题有一个共同的答案-----wireshark的过滤项是“协议“+”.“+”协议字段”的模式。以端口为例,端口出现于tcp协议中所以有端口这个过滤项且其写法就是tcp.port。

推广到其他协议,如eth、ip、udp、http、telnet、ftp、icmp、snmp等等其他协议都是这么个书写思路。当然wireshark出于缩减长度的原因有些字段没有使用协议规定的名称而是使用简写(比如Destination Port在wireshark中写为dstport)又出于简使用增加了一些协议中没有的字段(比如tcp协议只有源端口和目标端口字段,为了简便使用wireshark增加了tcp.port字段来同时代表这两个),但思路总的算是不变的。而且在实际使用时我们输入“协议”+“.”wireshark就会有支持的字段提示(特别是过滤表达式字段的首字母和wireshark在上边2窗口显示的字段名称首字母通常是一样的),看下名称就大概知道要用哪个字段了。wireshark支持的全部协议及协议字段可查看官方说明

4.1.2 过滤关系

过滤关系就是大于、小于、等于等几种等式关系,我们可以直接看官方给出的表。注意其中有“English”和“C-like”两个字段,这个意思是说“English”和“C-like”这两种写法在wireshark中是等价的、都是可用的。

4.1.3 过滤值

过滤值就是设定的过滤项应该满足过滤关系的标准,比如500、5000、50000等等。过滤值的写法一般已经被过滤项和过滤关系设定好了,只是填下自己的期望值就可以了。

 

4.2 复合过滤表达示

所谓复合过滤表达示,就是指由多条基本过滤表达式组合而成的表达示。基本过滤表达式的写法还是不变的,复合过滤表达示多出来的东西就只是基本过滤表达示的“连接词”

我们依然直接参照官方给出的表,同样“English”和“C-like”这两个字段还是说明这两种写法在wireshark中是等价的、都是可用的。

 

4.3 常见用显示过滤需求及其对应表达式

数据链路层:

筛选mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

筛选源mac地址为04:f9:38:ad:13:26的数据包----eth.src == 04:f9:38:ad:13:26

网络层:

筛选ip地址为192.168.1.1的数据包----ip.addr == 192.168.1.1

筛选192.168.1.0网段的数据---- ip contains "192.168.1"

筛选192.168.1.1和192.168.1.2之间的数据包----ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2

筛选从192.168.1.1到192.168.1.2的数据包----ip.src == 192.168.1.1 && ip.dst == 192.168.1.2

传输层:

筛选tcp协议的数据包----tcp

筛选除tcp协议以外的数据包----!tcp

筛选端口为80的数据包----tcp.port == 80

筛选12345端口和80端口之间的数据包----tcp.port == 12345 && tcp.port == 80

筛选从12345端口到80端口的数据包----tcp.srcport == 12345 && tcp.dstport == 80

应用层:

特别说明----http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1),http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。

筛选url中包含.php的http数据包----http.request.uri contains ".php"

筛选内容包含username的http数据包----http contains "username"

 

추천

출처www.cnblogs.com/edcsong/p/11896173.html