『壹』 如何查看tshark 是否支持lua
centos下安装wireshark相当简单.两条命令就够了.这里.主要是记录写使用方面的东西
安装:
1、yum install wireshark。注意这样并无法使用wireshark命令和图形界面。但提供了抓包基本功能。
2、yum install wireshark-gnome。这样就可以方便的使用了。
如果能登录图形界面终端.那使用和windows下的无区别.但我们的服务器都在国外.要管理的话都是SSH登录只能用命令行了。使用wireshark的命令行工具tshark,在安装的时候会默认给安装上的,使用方法很简单,要捕捉包: tshark -wpacket.txt -i etho -q 这样就会把捕捉到的网络包存放在packet.txt文件里面,要查看详情的话: tshark -rpacket.txt -x -V|more即可.
下面理一下所有参数的作用:
-a
设置一个标准用来指定Wireshark什么时候停止捕捉文件。标准的格式为 test:value,test值为下面中的一个。
ration:value
当捕捉持续描述超过Value值,停止写入捕捉文件。
filesize:value
当捕捉文件大小达到Value值kilobytes(kilobytes表示1000bytes,而不是1024 bytes),停止写入捕捉文件。如果该选项和-b选项同时使用,Wireshark在达到指定文件大小时会停止写入当前捕捉文件,并切换到下一个文件。
files:value
当文件数达到Value值时停止写入捕捉文件
-b
如果指定捕捉文件最大尺寸,因为Wireshark运行在”ring buffer”模式,被指定了文件数。在”ring buffer”模式下,Wireshark 会写到多个捕捉文件。它们的名字由文件数和创建日期,时间决定。
当第一个捕捉文件被写满,Wireshark会跳转到下一个文件写入,直到写满最后一个文件,此时Wireshark会丢弃第一个文件的数据(除非将files设置为0,如果设置为0,将没有文件数限制),将数据写入该文件。
如果ration选项被指定,当捕捉持续时间达到指定值的秒数,Wireshark同样会切换到下个文件,即使文件未被写满。
ration:value
当捕捉持续描述超过Value值,即使文件未被写满,也会切换到下个文件继续写入。
filesize:value
当文件大小达到value值kilobytes时(kelobyte表示1000bytes,而不是1024bytes),切换到下一个文件。
files:value
当文件数达到value值时,从第一个文件重新开始写入。
-B
仅适合Win32:设置文件缓冲大小(单位是MB,默认是1MB).被捕捉驱动用来缓冲包数据,直到达到缓冲大小才写入磁盘。如果捕捉时碰到丢包现象,可以尝试增大它的大小。
-c
实时捕捉中指定捕捉包的最大数目,它通常在连接词-k选项中使用。
-D
打印可以被Wireshark用于捕捉的接口列表。每个接口都有一个编号和名称(可能紧跟在接口描述之后?)会被打印,接口名或接口编号可以提供给-i参数来指定进行捕捉的接口(这里打印应该是说在屏幕上打印)。
在那些没有命令可以显示列表的平台(例如Windows,或者缺少ifconfig -a命令的UNIX平台)这个命令很有用;接口编号在Windows 2000及后续平台的接口名称通常是一些复杂字符串,这时使用接口编号会更方便点。
注意,”可以被Wireshark用于捕捉”意思是说:Wireshark可以打开那个设备进行实时捕捉;如果在你的平台进行网络捕捉需要使用有特殊权限的帐号(例如root,Windows下的Administrators组),在没有这些权限的账户下添加-D不会显示任何接口。参数
-f
设置捕捉时的内置过滤表达式
-g 在使用-r参数读取捕捉文件以后,使用该参数跳转到指定编号的包。
-h
-h选项请求Wireshark打印该版本的命令使用方法(前面显示的),然后退出。
-i
设置用于进行捕捉的接口或管道。
网络接口名称必须匹配Wireshark -D中的一个;也可以使用Wireshark -D显示的编号,如果你使用UNIX,netstat -i或者ifconfig -a获得的接口名也可以被使用。但不是所有的UNIX平台都支持-a,ifconfig参数。
如果未指定参数,Wireshark会搜索接口列表,选择第一个非环回接口进行捕捉,如果没有非环回接口,会选择第一个环回接口。如果没有接口,wireshark会报告错误,不执行捕捉操作。
管道名即可以是FIFO(已命名管道),也可以使用”-”读取标准输入。从管道读取的数据必须是标准的libpcap格式。
-k
-k选项指定Wireshark立即开始捕捉。这个选项需要和-i参数配合使用来指定捕捉产生在哪个接口的包。
-l
打开自动滚屏选项,在捕捉时有新数据进入,会自动翻动”Packet list”面板(同-S参数一样)。
-m
设置显示时的字体(编者认为应该添加字体范例)
-n
显示网络对象名字解析(例如TCP,UDP端口名,主机名)。
-N
对特定类型的地址和端口号打开名字解析功能;该参数是一个字符串,使用m可以开启MAC地址解析,n开启网络地址解析,t开启传输层端口号解析。这些字符串在-n和-N参数同时存在时优先级高于-n,字母C开启同时(异步)DNS查询。
-o 设置首选项或当前值,覆盖默认值或其他从Preference/recent file读取的参数、文件。该参数的值是一个字符串,形式为 prefname:value,prefnmae是首选项的选项名称(出现在preference/recent file上的名称)。value是首选项参数对应的值。多个-o 可以使用在单独命中中。
设置单独首选项的例子:
wireshark -o mgcp.display_dissect_tree:TRUE
设置多个首选项参数的例子:
wireshark -o mgcp.display_dissect_tree:TRUE -o mgcp.udp.callagent_port:2627-p
不将接口设置为杂收模式。注意可能因为某些原因依然出于杂收模式;这样,-p不能确定接口是否仅捕捉自己发送或接受的包以及到该地址的广播包,多播包
-Q
禁止Wireshark在捕捉完成时退出。它可以和-c选项一起使用。他们必须在出现在-i -w连接词中。
-r
指定要读取显示的文件名。捕捉文件必须是Wireshark支持的格式。
-R
指定在文件读取后应用的过滤。过滤语法使用的是显示过滤的语法,,不匹配的包不会被显示。
-s
设置捕捉包时的快照长度。Wireshark届时仅捕捉每个包字节的数据。
-S
Wireshark在捕捉数据后立即显示它们,通过在一个进程捕捉数据,另一个进程显示数据。这和捕捉选项对话框中的”Update list of packets in real time/实时显示数据”功能相同。
-t
设置显示时间戳格式。可用的格式有
r 相对的,设置所有包时间戳显示为相对于第一个包的时间。
a absolute,设置所有包显示为绝对时间。
ad 绝对日期,设置所有包显示为绝对日期时间。
d delta 设置时间戳显示为相对于前一个包的时间
e epoch 设置时间戳显示为从epoch起的妙数(1970年1月1日 00:00:00起)
-v
请求Wireshark打印出版本信息,然后退出
-w
在保存文件时以savefile所填的字符为文件名。
-y
如果捕捉时带有-k参数,-y将指定捕捉包中数据链接类型。The values reported by -L are the values that can be used.
-X
设置一个选项传送给TShark 模块。eXtension 选项使用extension_key:值形式,extension_key:可以是:
lua_script:lua_script_filename,它告诉Wireshark载入指定的脚本。默认脚本是Lua scripts.
-z
得到Wireshark的多种类型的统计信息,显示结果在实时更新的窗口。
用LogParser分析WireShark的包
『贰』 Tcpmp 看这一篇就够了
tcpmp 是一款强大的网络抓包工具,它使用 libpcap 库来抓取网络数据包,这个库在几乎在所有的 Linux/Unix 中都有。熟悉 tcpmp 的使用能够帮助你分析调试网络数据,本文将通过一个个具体的示例来介绍它在不同场景下的使用方法。不管你是系统管理员,程序员,云原生工程师还是 yaml 工程师,掌握 tcpmp 的使用都能让你如虎添翼,升职加薪。
tcpmp 的常用参数如下:
额外再介绍几个常用参数:
-A 表示使用 ASCII 字符串打印报文的全部数据,这样可以使读取更加简单,方便使用 grep 等工具解析输出内容。 -X 表示同时使用十六进制和 ASCII 字符串打印报文的全部数据。这两个参数不能一起使用。例如:
后面可以跟上协议名称来过滤特定协议的流量,以 UDP 为例,可以加上参数 udp 或 protocol 17 ,这两个命令意思相同。
同理, tcp 与 protocol 6 意思相同。
使用过滤器 host 可以抓取特定目的地和源 IP 地址的流量。
也可以使用 src 或 dst 只抓取源或目的地:
使用 tcpmp 截取数据报文的时候,默认会打印到屏幕的默认输出,你会看到按照顺序和格式,很多的数据一行行快速闪过,根本来不及看清楚所有的内容。不过,tcpmp 提供了把截取的数据保存到文件的功能,以便后面使用其他图形工具(比如 wireshark,Snort)来分析。
-w 选项用来把数据报文输出到文件:
如果想实时将抓取到的数据通过管道传递给其他工具来处理,需要使用 -l 选项来开启行缓冲模式(或使用 -c 选项来开启数据包缓冲模式)。使用 -l 选项可以将输出通过立即发送给其他命令,其他命令会立即响应。
过滤的真正强大之处在于你可以随意组合它们,而连接它们的逻辑就是常用的 与/AND/&& 、 或/OR/|| 和 非/not/!。
关于 tcpmp 的过滤器,这里有必要单独介绍一下。
机器上的网络报文数量异常的多,很多时候我们只关系和具体问题有关的数据报(比如访问某个网站的数据,或者 icmp 超时的报文等等),而这些数据只占到很小的一部分。把所有的数据截取下来,从里面找到想要的信息无疑是一件很费时费力的工作。而 tcpmp 提供了灵活的语法可以精确地截取关心的数据报,简化分析的工作量。这些选择数据包的语句就是过滤器(filter)!
Host 过滤器用来过滤某个主机的数据报文。例如:
该命令会抓取所有发往主机 1.2.3.4 或者从主机 1.2.3.4 发出的流量。如果想只抓取从该主机发出的流量,可以使用下面的命令:
Network 过滤器用来过滤某个网段的数据,使用的是 CIDR[2] 模式。可以使用四元组(x.x.x.x)、三元组(x.x.x)、二元组(x.x)和一元组(x)。四元组就是指定某个主机,三元组表示子网掩码为 255.255.255.0,二元组表示子网掩码为 255.255.0.0,一元组表示子网掩码为 255.0.0.0。例如,
抓取所有发往网段 192.168.1.x 或从网段 192.168.1.x 发出的流量:
抓取所有发往网段 10.x.x.x 或从网段 10.x.x.x 发出的流量:
和 Host 过滤器一样,这里也可以指定源和目的:
也可以使用 CIDR 格式:
Proto 过滤器用来过滤某个协议的数据,关键字为 proto,可省略。proto 后面可以跟上协议号或协议名称,支持 icmp, igmp, igrp, pim, ah, esp, carp, vrrp, udp和 tcp。因为通常的协议名称是保留字段,所以在与 proto 指令一起使用时,必须根据 shell 类型使用一个或两个反斜杠(/)来转义。Linux 中的 shell 需要使用两个反斜杠来转义,MacOS 只需要一个。
例如,抓取 icmp 协议的报文:
Port 过滤器用来过滤通过某个端口的数据报文,关键字为 port。例如:
截取数据只是第一步,第二步就是理解这些数据,下面就解释一下 tcpmp 命令输出各部分的意义。
最基本也是最重要的信息就是数据报的源地址/端口和目的地址/端口,上面的例子第一条数据报中,源地址 ip 是 192.168.1.106,源端口是 56166,目的地址是 124.192.132.54,目的端口是 80。> 符号代表数据的方向。
此外,上面的三条数据还是 tcp 协议的三次握手过程,第一条就是 SYN 报文,这个可以通过 Flags [S] 看出。下面是常见的 TCP 报文的 Flags:
下面给出一些具体的例子,每个例子都可以使用多种方法来获得相同的输出,你使用的方法取决于所需的输出和网络上的流量。我们在排障时,通常只想获取自己想要的内容,可以通过过滤器和 ASCII 输出并结合管道与 grep、cut、awk 等工具来实现此目的。
例如,在抓取 HTTP 请求和响应数据包时,可以通过删除标志 SYN/ACK/FIN 来过滤噪声,但还有更简单的方法,那就是通过管道传递给 grep。在达到目的的同时,我们要选择最简单最高效的方法。下面来看例子。
从 HTTP 请求头中提取 HTTP 用户代理:
通过 egrep 可以同时提取用户代理和主机名(或其他头文件):
抓取 HTTP GET 流量:
也可以抓取 HTTP POST 请求流量:
注意:该方法不能保证抓取到 HTTP POST 有效数据流量,因为一个 POST 请求会被分割为多个 TCP 数据包。
上述两个表达式中的十六进制将会与 GET 和 POST 请求的 ASCII 字符串匹配。例如,tcp[((tcp[12:1] & 0xf0) >> 2):4] 首先会确定我们感兴趣的字节的位置[3](在 TCP header 之后),然后选择我们希望匹配的 4 个字节。
提取 HTTP 请求的主机名和路径:
从 HTTP POST 请求中提取密码和主机名:
提取 Set-Cookie(服务端的 Cookie)和 Cookie(客户端的 Cookie):
查看网络上的所有 ICMP 数据包:
通过排除 echo 和 reply 类型的数据包使抓取到的数据包不包括标准的 ping 包:
可以提取电子邮件的正文和其他数据。例如,只提取电子邮件的收件人:
抓取 NTP 服务的查询和响应
通过 SNMP 服务,渗透测试人员可以获取大量的设备和系统信息。在这些信息中,系统信息最为关键,如操作系统版本、内核版本等。使用 SNMP 协议快速扫描程序 onesixtyone,可以看到目标系统的信息:
当抓取大量数据并写入文件时,可以自动切割为多个大小相同的文件。例如,下面的命令表示每 3600 秒创建一个新文件 capture-(hour).pcap,每个文件大小不超过 200*1000000 字节:
这些文件的命名为 capture-{1-24}.pcap,24 小时之后,之前的文件就会被覆盖。
可以通过过滤器 ip6 来抓取 IPv6 流量,同时可以指定协议如 TCP:
从之前保存的文件中读取 IPv6 UDP 数据报文:
在下面的例子中,你会发现抓取到的报文的源和目的一直不变,且带有标志位 [S] 和 [R],它们与一系列看似随机的目标端口进行匹配。当发送 SYN 之后,如果目标主机的端口没有打开,就会返回一个 RESET。这是 Nmap 等端口扫描工具的标准做法。
本例中 Nmap NSE 测试脚本 http-enum.nse 用来检测 HTTP 服务的合法 URL。
在执行脚本测试的主机上:
在目标主机上:
向 Google 公共 DNS 发起的出站 DNS 请求和 A 记录响应可以通过 tcpmp 抓取到:
抓取 80 端口的 HTTP 有效数据包,排除 TCP 连接建立过程的数据包(SYN / FIN / ACK):
通常 Wireshark(或 tshark)比 tcpmp 更容易分析应用层协议。一般的做法是在远程服务器上先使用 tcpmp 抓取数据并写入文件,然后再将文件拷贝到本地工作站上用 Wireshark 分析。
还有一种更高效的方法,可以通过 ssh 连接将抓取到的数据实时发送给 Wireshark 进行分析。以 MacOS 系统为例,可以通过 brew cask install wireshark 来安装,然后通过下面的命令来分析:
例如,如果想分析 DNS 协议,可以使用下面的命令:
抓取到的数据:
找出一段时间内发包最多的 IP,或者从一堆报文中找出发包最多的 IP,可以使用下面的命令:
cut -f 1,2,3,4 -d '.' : 以 . 为分隔符,打印出每行的前四列。即 IP 地址。
sort | uniq -c : 排序并计数
sort -nr : 按照数值大小逆向排序
本例将重点放在标准纯文本协议上,过滤出于用户名和密码相关的报文:
最后一个例子,抓取 DHCP 服务的请求和响应报文,67 为 DHCP 端口,68 为客户机端口。
本文主要介绍了 tcpmp 的基本语法和使用方法,并通过一些示例来展示它强大的过滤功能。将 tcpmp 与 wireshark 进行组合可以发挥更强大的功效,本文也展示了如何优雅顺滑地结合 tcpmp 和 wireshark。如果你想了解更多的细节,可以查看 tcpmp 的 man 手册。
『叁』 如何将用tshark命令行输出的文件转换成可以识别的编码方式
需要一款汉王OCR软件,如6800。如果没有扫描仪的话,需要购进一款汉王6800(或更高的级别的)扫描仪,随机赠送OCR软件。 它能够将扫描的文字直接导入到WORD中进行编辑。 Pdf转化word 1. 第一步:先用Adobe Reader打开想转换的PDF文件,接下来选择“文件→打印”菜单,在打开的“打印”窗口中将“打印机”栏中的“名称”设置为“Microsoft Office Document Image Writer”,确认后将该PDF文件输出为MDI格式的虚拟打印文件。 第二步:运行Microsoft Office Document Imaging,并利用它来打开刚才保存的MDI文件,选择“工具→将文本发送到Word”菜单,在弹出的窗口中选中“在输出时保持图片版式不变”,确认后系统会提示“必须在执行此操作前重新运行OCR。这可能需要一些时间”,不管它,确认即可。 2. 情况一:如果pdf文档本身就是用pagemaker或word转换而来的(文字非常清晰锐利,很容易识别),那你就方便了。你可以先用acrobat打开,然后点文件——>另存为——>把他保存成rtf文档,这样将把所有的pdf页保存成rtf文档,在用word打开。注意最好保存成rtf文档,要不很有可能产生乱码。小技巧:如果你只想识别pdf文件中的其中几页,那你可以现把那几页另存为新的pdf文档,再进行识别。Ny1 情况二:如果你所得到的pdf文档是用扫描仪扫进去的图片转换的,那么就麻烦了,不过还是比手输入快多了,所以继续往下看。首先你用acrobat把pdf文件打开,然后点文件——>另存为——>把他保存成图片格式*.tiff(这是无压缩图片格式,以便识别),然后到网上下载文字识别软件,建议用尚书六号(现在好像出到七号了,很有名,随处都可以下到),安装好后,打开转换好的tiff图片,点击识别,看,文字出来了吧,尚书系列文字识别软件功能十分强大,你可以在里面把文字都编辑好了,再保存成rtf或txt文件,然后粘贴到word里就可以使用了,注意过滤回车符。希望你能采纳O(∩_∩)O谢谢
『肆』 如何用tshark,wireshark命令行获取请求
Ethereal的玩法如大多sniffer。更有趣之处在于它提供了命令行的抓包程序tethereal(现在改名为tshark)等一系列命令行工具,能够无缝地融入unix/windows脚本语言,使嗅探、分析的工作更得强援。
tethereal/tshark位于图形化软件的相同目录内。和大多数unix脚本一样,它都提供了比较翔实的manpage(个人认为,可惜例子还是少了一点)。
『伍』 Kali Linux 无线渗透测试入门指南 第二章 WLAN 和固有的不安全性
没有什么伟大的东西能在脆弱的基础上构建。在我们的语境中,固有的不安全性之上不能构建出安全。
WLAN 在设计上拥有特定的不安全性,它们可被轻易利用,例如,通过封包注入,以及嗅探(能够在很远处进行)。我们会在这一章利用这些缺陷。
由于这本书处理无线方面的安全,我们假设你已经对协议和封包的头部有了基本的了解。没有的话,或者你离开无线有很长时间了,现在是个好机会来回顾这个话题。
让我们现在快速复习一些 WLAN 的基本概念,大多数你可能已经知道了。在 WLAN 中,通信以帧的方式进行,一帧会拥有下列头部结构:
Frame Control 字段本身拥有更复杂的结构:
类型字段定义了下列三种 WLAN 帧:
我们在之后的章节中讨论不同攻击的时候,会讨论这些帧中每一种的安全隐患。
我们现在看一看如何使用 Wireshark 嗅探无线网络上的这些帧。也有其他工具 -- 例如 Airomp-NG,Tcpmp,或者 Tshark -- 你同样可以用于嗅探。我们在这本书中多数情况会使用 Wireshark,但是我们推荐你探索其它工具。第一步是创建监控模式的接口。这会为你的适配器创建接口,使我们可以读取空域中的所有无线帧,无论它们的目标是不是我们。在有线的世界中,这通常叫做混合模式。
让我们现在将无线网卡设为监控模式。
遵循下列指南来开始:
我们成功创建了叫做 mon0 的监控模式接口。这个接口用于嗅探空域中的无线封包。这个接口已经在我们的无线适配器中创建了。
可以创建多个监控模式的接口,使用相同的物理网卡。使用 airmon-ng 工具来看看如何完成。
太棒了!我们拥有了监控模式接口,等待从空域中读取一些封包。所以让我们开始吧。
下一个练习中,我们会使用 Wireshark 和刚刚创建的 mon0 监控器模式接口,从空域中嗅探封包。
遵循下列指南来开始:
观察封包中不同的头部字段,并将它们和之前了解的 WLAN 帧类型以及子类型关联。
我们刚刚从空域中嗅探了第一组封包。我们启动了 Wireshark,它使用我们之前创建的监控模式接口 mon0 。通过查看 Wireshark 的底部区域,你应该注意到封包捕获的速度以及目前为止捕获的封包数量。
Wireshark 的记录有时会令人生畏,即使在构成合理的无线网络中,你也会嗅探到数千个封包。所以深入到我们感兴趣的封包十分重要。这可以通过使用 Wireshark 中的过滤器来完成。探索如何使用这些过滤器来识别记录中唯一的无线设备 -- 接入点和无线客户端。
如果你不能做到它,不要着急,它是我们下一个要学的东西。
现在我们学习如何使用 WIreshark 中的过滤器来查看管理、控制和数据帧。
请逐步遵循下列指南:
我们刚刚学习了如何在 Wireshark 中,使用多种过滤器表达式来过滤封包。这有助于监控来自我们感兴趣的设备的所选封包,而不是尝试分析空域中的所有封包。
同样,我们也可以以纯文本查看管理、控制和数据帧的封包头部,它们并没有加密。任何可以嗅探封包的人都可以阅读这些头部。要注意,黑客也可能修改任何这些封包并重新发送它们。协议并不能防止完整性或重放攻击,这非常易于做到。我们会在之后的章节中看到一些这类攻击。
你可以查阅 Wireshark 的手册来了解更多可用的过滤器表达式,以及如何使用。尝试玩转多种过滤器组合,直到你对于深入到任何细节层级都拥有自信,即使在很多封包记录中。
下个练习中,我们会勘察如何嗅探我们的接入点和无线客户端之间传输的数
据封包。
这个练习中,我们会了解如何嗅探指定无线网络上的封包。出于简单性的原因,我们会查看任何没有加密的封包。
遵循下列指南来开始:
我们刚刚使用 WIreshark 和多种过滤器嗅探了空域中的数据。由于我们的接入点并没有使用任何加密,我们能够以纯文本看到所有数据。这是重大的安全问题,因为如果使用了类似 WIreshark 的嗅探器,任何在接入点 RF 范围内的人都可以看到所有封包。
使用 WIreshark 进一步分析数据封包。你会注意 DHCP 请求由客户端生成,并且如果 DHCP 服务器可用,它会返回地址。之后你会发现 ARP 封包和其它协议的封包。这样来被动发现无线网络上的主机十分简单。能够看到封包记录,并重构出无线主机上的应用如何和网络的其余部分通信十分重要。Wireshark 所提供的有趣的特性之一,就是跟踪流的能力。这允许你一起查看多个封包,它们是相同连接中的 TCP 数据交换。
此外,尝试登陆 www.gmail.com 和其它流行站点并分析生成的数据流量。
我们会演示如何向无线网络中注入封包。
我们使用 aireplay-ng 工具来进行这个练习,它在 Kali 中自带。
遵循下列指南来开始:
我们刚刚使用 aireplay-ng,成功向我们的测试环境网络注入了封包。要注意我们的网卡将这些任意的封包注入到网络中,而不需要真正连接到无线接入点 Wireless Lab 。
我们会在之后的章节中详细了解封包注入。现在请探索一下 Aireplay-ng 工具用于注入封包的其它选项。你可以使用 Wireshark 监控空域来验证注入是否成功。
WLAN 通常在三种不同频率范围内工作:2.4 GHz,3.6 GHz 和 4.9/5.0 GHz。并不是所有 WIFI 网卡都全部支持这三种范围和相关的波段。例如,Alfa 网卡只支持 IEEE 802.11b/g。这就是说,这个网卡不能处理 802.11a/n。这里的关键是嗅探或注入特定波段的封包。你的 WIFI 网卡需要支持它。
另一个 WIFI 的有趣方面是,在每个这些波段中,都有多个频道。要注意你的 WIFI 网卡在每个时间点上只能位于一个频道。不能将网卡在同一时间调整为多个频道。这就好比车上的收音机。任何给定时间你只能将其调整为一个可用的频道。如果你打算听到其它的东西,你需要修改频道。WLAN 嗅探的原则相同。这会产生一个很重要的结论 -- 我们不能同时嗅探所有频道,我们只能选择我们感兴趣的频道。这就是说,如果我们感兴趣的接入点的频道是 1,我们需要将网卡设置为频道 1。
虽然我们在上面强调了 WLAN 嗅探,注入的原则也相同。为了向特定频道注入封包,我们需要将网卡调整为特定频道。
让我们现在做一些练习,设置网卡来制定频道或进行频道跳跃,设置规范域以及功率等级,以及其它。
仔细遵循以下步骤:
我们知道了,无线嗅探和封包注入依赖于硬件的支持。这即是说我们只能处理网卡支持的波段和频道。此外,无线网卡每次只能位于一个频道。这说明了我们只能一次嗅探或注入一个频道。
WIFI 的复杂性到这里并没有结束。每个国家都有自己的未授权的频谱分配策略。这规定了允许的功率等级和频谱的用户。例如,FCC 规定,如果你在美国使用 WLAN,你就必须遵守这些规定。在一些国家,不遵守相关规定会收到惩罚。
现在让我们看看如何寻找默认的规范设置,以及如何按需修改它们。
仔细遵循以下步骤:
每个国家都有用于未授权无线波段的自己的规范。当我们将规范域设置为特定国家时,我们的网卡会遵循允许的频道和指定的功率等级。但是,嗅探网卡的规范域,来强制它工作在不允许的频道上,以及在高于允许值的功率等级上传输数据相当容易。
查看你可以设置的多种参数,例如频道、功率、规范域,以及其它。在 Kali 上使用 iw 命令集。这会让你深刻了解在不同国家的时候如何配置网卡,以及修改网卡设置。
Q1 哪种帧类型负责在 WLAN 中的验证?
Q2 使用 airmon-mg 在 wlan0 上创建的第二个监控器模式接口的名字是什么?
Q3 用于在 Wireshark 中查看非信标的过滤器表达式是什么?
这一章中,我们对 WLAN 协议进行了一些重要的观察。
管理、控制和数据帧是未加密的,所以监控空域的人可以轻易读取。要注意数据封包载荷可以使用加密来保护,使其更加机密。我们在下一章讨论它们。
我们可以通过将网卡设置为监控模式来嗅探附近的整个空域。
由于管理和控制帧没有完整性保护,使用例如 aireplay-ng 的工具通过监控或照旧重放它们来注入封包非常容易。
未加密的数据封包也可以被修改和重放到网络中。如果封包加密了,我们仍然可以照旧重放它们,因为 WLAN 设计上并没有保护封包重放。
下一章中,我们会看一看用于 WLAN 的不同验证机制,例如 MAC 过滤和共享验证,以及其它。并且通过实际的演示来理解多种安全缺陷。
『陆』 请教tshark源码整合
tshark是wireshark的指令形式,有些情况下抓取网络包但是不想调用图形界面时,可以用tshark
1、下载libpcap源代码
http://www.tcpmp.org/
libpcap-x.x.x.tar.gz libpcap安装源文件
2. 解压缩libpcap
tar zxvf libpcap-x.x.x.tar.gz
进入到解压缩后的文件夹中 cd libpcap- x.x.x
3. 安装flex
apt-get install flex
4. 安装bison
apt-get install biso
5. 安装libpcap
./configure
make
make install
6. 安装tshark
apt-get install tshark
7、指令应用
tshark是wireshark命令行形式
1)指定要监听的接口
-i <接口名称>
比如-i eth2.如果不用-i指定监听的接口,则默认为接口列表中第一个非回环接口(-D打印接口列表)
2)可监听的接口列表
-D 打印接口列表
3)设置cap过滤条件
-f <过滤参数设置>
A. 设置监听的协议类型:-f udp/tcp/http 注:协议类型必须为小写
B. 设置源ip: -f“src host x.x.x.x”
C. 设置源端口: -f“src port xx”
D. 设置源ip和源端口: -f “srchost x.x.x.x and src port xx”
E. 设置目的ip: -f“dst host x.x.x.x”
F. 设置目的端口: -f“dst port xx”
G. 设置目的ip和端口: -f “dsthost x.x.x.x and port xx”
注:设置ip或端口时,必须用双引号
4)设置抓包数
-c <包数量> ,比如-c 15 表示抓15个包就停止
5) 设置cap包容量
-a filesize:NUM
其中NUM为filesize的包容量,用此命令需要用-w命令指定保存的文件包。NUM单位为KB
6)保存文件
-w <文件名称>
-w后面是要保存到的文件名字,也可以指定路径
7) 在屏幕中显示抓包的内容
-S
8)指定数据包的最大长度
-s <数据包长度>,单位为bytes
其他指令请参照在线帮助
『柒』 怎么关闭掉wireshark的register.c的自动生成
centos下安装wireshark相当简单.两条命令就够了.这里.主要是记录写使用方面的东西安装:1、yuminstallwireshark。注意这样并无法使用wireshark命令和图形界面。但提供了抓包基本功能。2、yuminstallwireshark-gnome。这样就可以方便的使用了。如果能登录图形界面终端.那使用和windows下的无区别.但我们的服务器都在国外.要管理的话都是SSH登录只能用命令行了。使用wireshark的命令行工具tshark,在安装的时候会默认给安装上的,使用方法很简单,要捕捉包:tshark-wpacket.txt-ietho-q这样就会把捕捉到的网络包存放在packet.txt文件里面,要查看详情的话:tshark-rpacket.txt-x-V|more即可.下面理一下所有参数的作用:-a设置一个标准用来指定Wireshark什么时候停止捕捉文件。标准的格式为test:value,test值为下面中的一个。ration:value当捕捉持续描述超过Value值,停止写入捕捉文件。filesize:value当捕捉文件大小达到Value值kilobytes(kilobytes表示1000bytes,而不是1024bytes),停止写入捕捉文件。如果该选项和-b选项同时使用,Wireshark在达到指定文件大小时会停止写入当前捕捉文件,并切换到下一个文件。files:value当文件数达到Value值时停止写入捕捉文件-b如果指定捕捉文件最大尺寸,因为Wireshark运行在”ringbuffer”模式,被指定了文件数。在”ringbuffer”模式下,Wireshark会写到多个捕捉文件。它们的名字由文件数和创建日期,时间决定。当第一个捕捉文件被写满,Wireshark会跳转到下一个文件写入,直到写满最后一个文件,此时Wireshark会丢弃第一个文件的数据(除非将files设置为0,如果设置为0,将没有文件数限制),将数据写入该文件。如果ration选项被指定,当捕捉持续时间达到指定值的秒数,Wireshark同样会切换到下个文件,即使文件未被写满。ration:value当捕捉持续描述超过Value值,即使文件未被写满,也会切换到下个文件继续写入。filesize:value当文件大小达到value值kilobytes时(kelobyte表示1000bytes,而不是1024bytes),切换到下一个文件。files:value当文件数达到value值时,从第一个文件重新开始写入。-B仅适合Win32:设置文件缓冲大小(单位是MB,默认是1MB).被捕捉驱动用来缓冲包数据,直到达到缓冲大小才写入磁盘。如果捕捉时碰到丢包现象,可以尝试增大它的大小。-c实时捕捉中指定捕捉包的最大数目,它通常在连接词-k选项中使用。-D打印可以被Wireshark用于捕捉的接口列表。每个接口都有一个编号和名称(可能紧跟在接口描述之后?)会被打印,接口名或接口编号可以提供给-i参数来指定进行捕捉的接口(这里打印应该是说在屏幕上打印)。在那些没有命令可以显示列表的平台(例如Windows,或者缺少ifconfig-a命令的UNIX平台)这个命令很有用;接口编号在Windows2000及后续平台的接口名称通常是一些复杂字符串,这时使用接口编号会更方便点。注意,”可以被Wireshark用于捕捉”意思是说:Wireshark可以打开那个设备进行实时捕捉;如果在你的平台进行网络捕捉需要使用有特殊权限的帐号(例如root,Windows下的Administrators组),在没有这些权限的账户下添加-D不会显示任何接口。参数-f设置捕捉时的内置过滤表达式-g在使用-r参数读取捕捉文件以后,使用该参数跳转到指定编号的包。-h-h选项请求Wireshark打印该版本的命令使用方法(前面显示的),然后退出。-i设置用于进行捕捉的接口或管道。网络接口名称必须匹配Wireshark-D中的一个;也可以使用Wireshark-D显示的编号,如果你使用UNIX,netstat-i或者ifconfig-a获得的接口名也可以被使用。但不是所有的UNIX平台都支持-a,ifconfig参数。如果未指定参数,Wireshark会搜索接口列表,选择第一个非环回接口进行捕捉,如果没有非环回接口,会选择第一个环回接口。如果没有接口,wireshark会报告错误,不执行捕捉操作。管道名即可以是FIFO(已命名管道),也可以使用”-”读取标准输入。从管道读取的数据必须是标准的libpcap格式。-k-k选项指定Wireshark立即开始捕捉。这个选项需要和-i参数配合使用来指定捕捉产生在哪个接口的包。-l打开自动滚屏选项,在捕捉时有新数据进入,会自动翻动”Packetlist”面板(同-S参数一样)。-m设置显示时的字体(编者认为应该添加字体范例)-n显示网络对象名字解析(例如TCP,UDP端口名,主机名)。-N对特定类型的地址和端口号打开名字解析功能;该参数是一个字符串,使用m可以开启MAC地址解析,n开启网络地址解析,t开启传输层端口号解析。这些字符串在-n和-N参数同时存在时优先级高于-n,字母C开启同时(异步)DNS查询。-o设置首选项或当前值,覆盖默认值或其他从Preference/recentfile读取的参数、文件。该参数的值是一个字符串,形式为prefname:value,prefnmae是首选项的选项名称(出现在preference/recentfile上的名称)。value是首选项参数对应的值。多个-o可以使用在单独命中中。设置单独首选项的例子:wireshark-omgcp.display_dissect_tree:TRUE设置多个首选项参数的例子:wireshark-omgcp.display_dissect_tree:TRUE-omgcp.udp.callagent_port:2627-p不将接口设置为杂收模式。注意可能因为某些原因依然出于杂收模式;这样,-p不能确定接口是否仅捕捉自己发送或接受的包以及到该地址的广播包,多播包-Q禁止Wireshark在捕捉完成时退出。它可以和-c选项一起使用。他们必须在出现在-i-w连接词中。-r指定要读取显示的文件名。捕捉文件必须是Wireshark支持的格式。-R指定在文件读取后应用的过滤。过滤语法使用的是显示过滤的语法,,不匹配的包不会被显示。-s设置捕捉包时的快照长度。Wireshark届时仅捕捉每个包字节的数据。-SWireshark在捕捉数据后立即显示它们,通过在一个进程捕捉数据,另一个进程显示数据。这和捕捉选项对话框中的”Updatelistofpacketsinrealtime/实时显示数据”功能相同。-t设置显示时间戳格式。可用的格式有r相对的,设置所有包时间戳显示为相对于第一个包的时间。aabsolute,设置所有包显示为绝对时间。ad绝对日期,设置所有包显示为绝对日期时间。ddelta设置时间戳显示为相对于前一个包的时间eepoch设置时间戳显示为从epoch起的妙数(1970年1月1日00:00:00起)-v请求Wireshark打印出版本信息,然后退出-w在保存文件时以savefile所填的字符为文件名。-y如果捕捉时带有-k参数,-y将指定捕捉包中数据链接类型。Thevaluesreportedby-Larethevaluesthatcanbeused.-X设置一个选项传送给TShark模块。eXtension选项使用extension_key:值形式,extension_key:可以是:lua_script:lua_script_filename,它告诉Wireshark载入指定的脚本。默认脚本是Luascripts.-z得到Wireshark的多种类型的统计信息,显示结果在实时更新的窗口。用LogParser分析WireShark的包
『捌』 在地址为192.168.1.44的主机上,要检查到另一台主机的端到端连接性,可通过CLI执行哪个命令
1
通过SSH连接
打开计算机上的SSH客户端(例如Mac OS X上的Terminal,或者Windows下使用PuTTY)
在PuTTY登录界面输入主机名称或者IP地址,EdgeOS默认的IP地址为192.168.1.1。在初次登录的时候,会显示一个主机密钥。你会被询问确认保存主机密钥到本地数据库。点击“是”可以在以后略过这个消息。
在用户名和密码提示符处,输入用户名和密码,默认是ubnt/ubnt。
对于命令帮助,你可以按下?键或者输入show然后按下?键。
回第一步