在Linux中输入命令man tcpmp给出的定义如下所示:
是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpmp:
常用选项如下所示:
1、第一个抓包示例
-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效
-nn : 不转换协议和端口号,当tcpmp遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH
-X : 将协议头和包内容原原本本的显示出来,tcpmp会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。
'port 22' : 告诉tcpmp要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。
-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。
2、-e 增加数据链路层的头部信息
通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。
3、-l 将输出变为行缓冲模式
-l的作用是将tcpmp的输出行为变为 行缓冲 方式,这样可以保证tcpmp遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。
在Linux的标准I/O中提供了 全缓冲 、 行缓冲 、 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。
在该例中,将tcpmp输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpmp才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。
4、-t 输出不加时间戳
在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpmp默认情况下是按微秒来计时,因此最一个时间精确到了第6位。
5、 -v 显示详细信息
在增加 -v 选项后,会在输出的内容中增加 tos 、 ttl 、 id 、 offset 、 协议编号 、 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。
6、-F 指定过滤表达式所在的文件
在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpmp只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。
7、 -w 将原始数据包信息保存到文件中
当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。
7、 -r 从文件中读取原始数据包
通过-w和-r选项即可实现抓包的录制回放功能。
2. linux备份文件夹常用的命令有哪些
linux备份文件夹的命令是什么?在Linux操作系统中,可用于备份文件夹的命令有两个:cp命令、mp命令,本文为大家详细介绍一下这两个命令,希望能够给你们带来帮助。
1、mp命令
Linux mp命令用于备份文件系统。
mp为备份工具程序,可将目录或整个文件系统备份至指定的设备,或备份成一个大文件。
语法:
mp[-cnu][-0123456789][-b
<区块大小>][-B<区块数目>][-d<密度>][-f<设备名称>搜晌][-h<层级>][-s<磁带长度>][-T<日期>][目录或文件系统]或mp[-wW]
参数:
-0123456789 备份的层级
-b<区块大小> 指定区块的大小,单位为KB
-B<区块数目> 指定备份卷册的区块数目
-c 修改备份磁带预设的密度与容量
-d<密度> 设置磁带的密度,单位为BPI
-f<设备名称> 指定备份设备
-h<层级> 当备份层级等于或大于指定的层级时,将不备份用户标示为nomp的文件
-n 当备份工作需要管理员介入时,向所有operator群组中的使用者发出通知
-s<磁带长度> 备份磁带的长度,单位为英尺
-T<日期> 指定开始备份的时间与日期
-u 备份完毕后,在/etc/mpdates中记录备份的文件系统,层级,日期与时间等
-w 与-W类似,但仅显示需要备份的文件
-W 显示需要备份的文件及其最后一次备份的层级,时间与日期。
2、cp命令
Linux cp命令主要用于复制文件或目录。
语法:
①cp [options] source dest
②cp [options] source... directory
参数:
-a 此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容,其作用等于dpR参数组合
-d 复制时保留链接,这里所说的世烂锋链接相当于Windows系统中的快捷方式
-f 覆盖已经存在的目标文件而不给出提示
-i 与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答y时目标文件将被覆盖
-p 除复制文件的内容外,还历丛把修改时间和访问权限也复制到新文件中
-r 若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
-l 不复制文件,只是生成链接文件。
3. Linux 系统扫描nmap与tcpmp抓包
NMAP扫描
一款强大的网络探测利器工具
支持多种探测技术档神迟
--ping扫描
--多端口扫描
-- TCP/IP指纹校验
为什么需要扫描?
以获取一些公开/非公开信息为目的
--检测潜在风险
--查找可攻击目标
--收集设备/主机/系统/软件信息
--发现可利用的安全漏洞
基本用法
nmap [扫描类型] [选项] <扫描目标...>
常用的扫描类型
常用选项
-sS TCP SYN扫描(半开) 该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。简单理解就是3次握手只完成一半就可以判断端口是否打开,提高扫描速度
-sT TCP 连接扫描(全开)
-sU UDP扫描
-sP ICMP扫描
-sV 探测打开的端口对应的服务版本信息
-A 目标系统全面分析 (可能会比较慢)
-p 扫描指定端口
1 ) 检查目标主机是否能ping通
2)检查目标主机所开启的TCP服务
3 ) 检查192.168.4.0/24网段内哪些主机开启了FTP、SSH服务
4)检查目标主机所开启的UDP服务
5 ) 探测打开的端口对应的服务版本信息
6)全面分析目标主机192.168.4.100的操作系统信息
tcpmp
命令行抓取数据包工具
基本用法
tcpmp [选项] [过滤条件]
常见监控选项
-i,指定监控的网络接口(默认监听第一个网卡)
-A,转换为 ACSII 码,以方便阅读
-w,将数据包信息保存到指定文件
-r,从指定文件读取数据包信息
常用的过滤条件:
类型:host、net、port、portrange
方向:src、dst
协议:tcp、udp、ip、wlan、arp、……
多个条件组合:and、or、not
案例1
案例2:使用tcpmp分析FTP访问中的明文交换信息
1 ) 安装部署vsftpd服务
2 ) 并启动tcpmp等待抓包
执行tcpmp命令行,添加适当的过滤条件,只抓取访问主机192.168.4.100的21端口的数据通信 ,并转换为ASCII码格式的易读文本。
3 ) case100作为客户端访问case254服务端
4 ) 查看tcpmp抓包
5 ) 再次使用tcpmp抓包,行李使用-w选项可瞎知以将抓取的数据包另存为文件,方便后期慢慢分析。
6 ) tcpmp命令的-r选项,可以去读之前抓取的历史数据文件
4. linux系统下如何查看数据包
可以用 tcpmp 命令来抓包,比如
tcpmp-ieth0
其中,eth0就是你要抓包的网口。或者你可以用
tcpmp-ieth0-ne
其中 -ne 表示显示不要省略MAC地址。
也可以抓包到文件,例如
tcpmp-ieth0-wtest.pcap
把抓下来的包保存到test.pcap文件中,可以用Wireshark打开来查看,慢慢分析包中的数据。