Linux 基础教程 29-tcpdump命令-1

Linux 基础教程 29-tcpdump命令-1,第1张

    在Linux中输入命令man tcpdump给出的定义如下所示:

是不是感觉很懵?我们用通俗、形象、学术的表达方式来全方位描述tcpdump:

常用选项如下所示:

1、第一个抓包示例

-i : 指定用来抓包的网络接口,这个参数在服务器有多个网卡的时候非常有效

-nn : 不转换协议和端口号,当tcpdump遇到协议号或端口号,不需要将这些数字转换为对应的协议名称或端口名称,如22端口SSH端口,我们希望显示22,而非SSH

-X : 将协议头和包内容原原本本的显示出来,tcpdump会同时以16进制和ASCII的形式进行显示,在协议分析时非常好用。

'port 22' : 告诉tcpdump要有选择的显示所抓到的包,在该示例中,只显示源端口或目的端口是22的数据包,其他的数据包则不显示。

-c : 用来指定抓包的个数,示例设置的个数为1,则代表仅抓取一个包之后就退出不再抓包了。

2、-e 增加数据链路层的头部信息

    通过两个命令的输出对比,可以看到增加-e选项后,输出的结果中增加MAC地址信息。而且在输出内容中会有 oui Unknown ,OUI即Organizationally unique identifier(组织唯一标识符),在任何一块网卡中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了网卡的制造组织,通常情况下,该标识符是唯一的。在本例中,由于没有识别出网卡的制造商,因此显示为Unknown。

3、-l 将输出变为行缓冲模式

    -l的作用是将tcpdump的输出行为变为 行缓冲 方式,这样可以保证tcpdump遇到换行符,就立即将缓冲的内容输出到标准输出(stdout),方便利用管道或重定向方式进行后续处理,而不会造成延迟。

    在Linux的标准I/O中提供了 全缓冲 行缓冲 无缓冲 三种缓冲方式。标准错误是不带缓冲的,而终端设备常为行缓冲,其他默认则为全缓冲。

    在该例中,将tcpdump输出的内容通过管道提取第5列,可以用来查看详细的连接信息。而如果不加 -l 选项时,则只有当缓冲区全部占满时,tcpdump才会将缓冲区中的内容输出,这样就有可能导致输出不连续的,如果强行结束,则会影响下一行的完整性。

4、-t 输出不加时间戳

    在增加选项 -t 选项后,时间23:48:03.193526就消失了。tcpdump默认情况下是按微秒来计时,因此最一个时间精确到了第6位。

5、 -v 显示详细信息

    在增加 -v 选项后,会在输出的内容中增加 tos ttl id offset 协议编号 总长度 等,如需要理解这些信息,就需要了解TCP/IP协议中的头的具体定义了。

6、-F 指定过滤表达式所在的文件

    在第一个示例中,命令行增加了 'port 22' ,而这一项就叫 过滤条件 ,如果设置了过滤条件,则tcpdump只抓取满足过滤条件的数据包。如需要设置较为复杂的过滤条件或复用过滤条件时,这时可以将过滤条件保存为文件,然后通过-F加载该过滤文件。

7、 -w 将原始数据包信息保存到文件中

    当我们查看保存的文件时,出现的是乱码。则代表无法直接查看,很有可能是二进制文件。那么怎么查看保存的文件了?请看下一个示例。

7、 -r 从文件中读取原始数据包

    通过-w和-r选项即可实现抓包的录制回放功能。

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的 *** 作系统信息

tcpdump

命令行抓取数据包工具

基本用法

tcpdump [选项] [过滤条件]

常见监控选项

-i,指定监控的网络接口(默认监听第一个网卡)

-A,转换为 ACSII 码,以方便阅读

-w,将数据包信息保存到指定文件

-r,从指定文件读取数据包信息

常用的过滤条件:

类型:host、net、port、portrange

方向:src、dst

协议:tcp、udp、ip、wlan、arp、……

多个条件组合:and、or、not

案例1

案例2:使用tcpdump分析FTP访问中的明文交换信息

1 ) 安装部署vsftpd服务

2 ) 并启动tcpdump等待抓包

执行tcpdump命令行,添加适当的过滤条件,只抓取访问主机192.168.4.100的21端口的数据通信 ,并转换为ASCII码格式的易读文本。

3 ) case100作为客户端访问case254服务端

4 ) 查看tcpdump抓包

5 ) 再次使用tcpdump抓包,使用-w选项可以将抓取的数据包另存为文件,方便后期慢慢分析。

6 ) tcpdump命令的-r选项,可以去读之前抓取的历史数据文件

首先你要知道你的linux系统的版本是属于哪个分发版的。当然如果你对自己的linux系统版本不知道的话也没关系。linux系统它的防火墙名为“iptables”如果你打开linux的话是黑色的话,那么你是处在终端阶段,这样如果需要打开你的防火墙的话,输入“chkconfig iptables on”,当然关闭防火墙的话只要将指令的“on”改成“off”,在执行命令即可。当然是需要重启计算机才能正式生效。 当然并不是只有一定命令启动和关闭linux系统防火墙。如果你不想让计算机重启在生效的话可以用“service”命令。当我们需要开启防火墙的话输入“service iptables start”,如需要关闭防火墙的话那就是将start替换成stop即可。当然执行service命令的话如果电脑被重启,之后对防火墙的设置还是恢复到初始状态。所有对linux系统防火墙设置的信息参数全部会丢失。 以上只是介绍了关于linux防火墙的开启及关闭。如果要在防火墙上面设置某些端口的开关命令的话,可以通过找到修改编辑/etc/sysconfig/iptables文件。说到修改防火墙的参数的话所涉及到的知识点就很多了,小编就不在做具体介绍了。

1 Iptables -F

Iptables -X

Iptables -Z

2 Iptables -t filter -A INPUT –p tcp –dport 22 -s 10.0.0.0/24 -j ACCEPT 让自己人通过

Iptables -t filter -A INPUT –i lo –j ACCEPT 让自己的回环接口通过

Iptables -t filter -A INPUT –o lo –j ACCEPT

Iptables -t filter -A OUTPUT –o lo –j ACCEPT

3 默认规则

Iptables -P INPUT DROP 进阻止 所有input规则中最后匹配

Iptables -P OUTPUT ACCEPT 出同意 所有output规则中最后匹配

Iptables -P FORWORD DROP 转发禁止 所有forword规则中最后匹配

4 单独配些允许自己人进入的IP

5 配置允许外网访问端口

Iptables -t filter -A INPUT –p tcp –dport 80 -j ACCEPT

Iptables -t filter –A INPUT –p icmp –icmp-type 8 –j ACCEPT 如果想让外面的人ping同,加该行

如果有ftp协议,加下面两行

Iptables -t filter –A INPUT –m state ESTABLISHED,RELATED –j ACCEPT

Iptables -t filter –A OUTPUT –m state ESTABLISHED,RELATED –j ACCEPT

6 保存

/etc/init.d/iptables save

拓展知识:

linux防火墙设置

方法如下:

1、使用工具,链接Linux系统。

2、输入用户名,和密码,连接到服务器。

3、连接服务器后,输入语句“service iptables status”,回车,会显示防火墙状态。

4、输入语句“chkconfig iptables on”,可以开启防火墙。或者使用语句“chkconfig iptables off”,关闭防火墙,需要重启后生效。

5、如果想要即可生效,可以使用语句“service iptables start”开启防火墙,或者语句“service iptables stop”关闭,关闭或者开启防火墙后,查询防火墙状态,可以看到相应的变化


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8916912.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-22
下一篇 2023-04-22

发表评论

登录后才能评论

评论列表(0条)

保存