网络安全之tcpdump工具

news/2025/3/13 18:14:34/

引言

    wireshark是一款非常不错的抓包软件,在图形化界面占绝对统治地位;尽管其在字符界面下有些许选项可供使用,但终究不太方便,下面我再介绍一款NB的终端抓包工具 tcpdump

1、混杂模式

    linux的网卡有混杂模式一说,当开启混杂模式后,网卡可以抓取所有的数据包,不管这个包是不是发给自己或自己发出的。由于随意截取别人的数据包存在一定安全问题,因此linux对于网卡默认是关闭混杂模式的,切只有root用户能够开启网卡混杂模式,开启方式:

ifconfig ethX promisc

    2、常用选项

    参数参数说明样例
    -D查看可通过哪些网卡抓包
    -i name指定通过该name网卡抓包

    tcpdump -i eth0

    tcpdump -i any

    -w file将抓取的包存入file文件中(该文件可被wireshark使用),默认打印到终端tcpdump -i eth0 -w packet.pcap
    -r file读取前面抓取的包,将其作为输入tcpdump -r file
    -s length抓取数据包的长度,默认68个字节;设置为0,表示抓取全部数据
    -c count抓取的数据包个数
    -t 不显示时间戳
    -S打印绝对的sequence number
    -x/-xx按HEX打印每个包的头信息/包含链路信息
    -n不要将ip转换为主机名
    -nn不要转换ip与端口为对应的名字tcpdump -nnSs 0 tcp port ! 22
    -e显示链路层信息,默认不显示
    -F file过滤条件从file文件内容获取,命令行内容忽略
    -X/-XX按HEX与ASCII打印每个包的头部信息/包含链路信息
    -C file_size指定每个文件最大长度为30M,与 -W一起使用tcpdump -i eth0 -C 30 -W 50 -w /tmp/net.pcap
    -W filecount指定最多生成50个文件,与-C一起使用tcpdump -i eth0 -C 30 -W 50 -w /tmp/net.pcap

    3、过滤器

    3.1、host

        指定主机或网络抓取,可用ip或域名或网段

    tcpdump host 192.168.12.1
    tcpdump net 192.168.12.0/24

          也可以设置源或则目的端

      tcpdump [src|dst] host 192.168.12.1

            指定抓取多个ip的包,不能加方向,如src或dst

        tcpdump host 10.27.82.223 and \(10.27.82.222 or 10.27.82.221\)

              排除方式指定目标

          tcpdump ip net 192.168.12.0/24 and ! 192.168.12.3

            3.2、port / portrange

                指定端口/端口范围(0-1024)与主机,可同时指定方向

            tcpdump tcp [src|dst] port 23 and [src|dst] host 192.168.12.1

                  排除某个端口的数据包

              tcpdump tcp port ! 22

                3.3、循环覆盖抓取网络包,存储到30个文件中,每个文件最大50M

                tcpdump -i eth0 -C 30 -W 50 -w /tmp/net.pcap

                  4、高级特性

                  4.1、指定数据包标志位

                  tcpdump 'tcp[tcpflags] & (tcp-syn|tcp-fin) != 0' #获取开始或则结束的数据包
                  tcpdump 'tcp[tcpflags] & (tcp-fin) != 0'            #获取连接结束的数据包
                  tcpdump 'tcp[tcpflags] & (tcp-syn) != 0'            #获取连接开始的数据包tcpdump -AXtnni eth0 'src host 192.168.12.1 and dst port 9876 and tcp[((tcp[12:1] & 0xf0) >> 2):4]=0x47455420'      #获取GET请求数据

                    5、输出结果

                        打印格式:

                        系统时间              来源主机.端口            > 目标主机.端口      数据包参数

                    eg:20:09:53.584715 IP 100.109.225.128.30207 >  10.27.82.228.443: Flags [R.], seq 241841040, ack 631822021, win 58, options [nop,nop,TS val 144058912 ecr 3829113521], length 0    

                    6、问题

                        加上-C选项后提示“Permission denied”

                        解决办法是,加上 "-Z root"

                    网络安全学习路线

                    对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

                    同时每个成长路线对应的板块都有配套的视频提供:

                    需要网络安全学习路线和视频教程的可以在评论区留言哦~

                    最后

                    给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。

                    黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)

                    结语

                    网络安全产业就像一个江湖,各色人等聚集。相对于欧美国家基础扎实(懂加密、会防护、能挖洞、擅工程)的众多名门正派,我国的人才更多的属于旁门左道(很多白帽子可能会不服气),因此在未来的人才培养和建设上,需要调整结构,鼓励更多的人去做“正向”的、结合“业务”与“数据”、“自动化”的“体系、建设”,才能解人才之渴,真正的为社会全面互联网化提供安全保障。

                    特别声明:
                    此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施
                    ,从而减少由网络安全而带来的经济损失


                    http://www.ppmy.cn/news/1578847.html

                    相关文章

                    20天 - TCP 和 UDP 有什么区别?说说 TCP 的三次握手?TCP 是用来解决什么问题?

                    TCP 和 UDP 有什么区别? TCP(传输控制协议)和 UDP(用户数据报协议)都是传输层的网络协议,它们的主要区别如下: 连接方式 TCP:面向连接的协议,类似于打电话&#xff0c…

                    《Python实战进阶》No17: 数据库连接与 ORM(SQLAlchemy 实战)

                    No17: 数据库连接与 ORM(SQLAlchemy 实战) 摘要 本文深入探讨SQLAlchemy在复杂场景下的高级应用,涵盖四大核心主题: 会话生命周期管理:通过事件钩子实现事务监控与审计追踪混合继承映射:结合单表/连接表继…

                    Linux软件包管理与Vim编辑器指南

                    一、Linux软件包管理 1. 什么是软件包? 在Linux下安装软件,一种常见的方法是下载程序的源代码,并进行编译,得到可执行程序。然而,这种方法既耗时又繁琐。为了方便,人们将一些常用的软件提前编译好&#x…

                    仅仅使用pytorch来手撕transformer架构(3):编码器模块和编码器类的实现和向前传播

                    仅仅使用pytorch来手撕transformer架构(2):编码器模块和编码器类的实现和向前传播 往期文章: 仅仅使用pytorch来手撕transformer架构(1):位置编码的类的实现和向前传播 最适合小白入门的Transformer介绍 仅仅使用pytorch来手撕transformer…

                    wordpress禁止用户在不同地点同时登录

                    wordpress禁止用户在不同地点同时登录,管理员除外。 function pcl_user_has_concurrent_sessions() {return (is_user_logged_in() && count(wp_get_all_sessions()) > 2); }add_action("init", function () {// 除了管理员,其他人…

                    C语言_数据结构总结7:顺序队列(循环队列)

                    纯C语言实现,不涉及C 队列 简称队,也是一种操作受限的线性表。只允许表的一端进行插入,表的另一端进行删除 特性:先进先出 针对顺序队列存在的“假溢出”问题,引出的循环队列概念。 循环队列 将顺序队列臆造为一个…

                    【git】 贮藏 stash

                    贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件,没有完整的使用过。今天有幸使用了一次就来展开说说。 使用原因就不赘述了,错误的操作少提为好,操作步骤如下: 查看贮藏列表git stash list #输出&…

                    机器学习(吴恩达)

                    一, 机器学习 机器学习定义: 计算机能够在没有明确的编程情况下学习 特征: 特征是描述样本的属性或变量,是模型用来学习和预测的基础。如: 房屋面积, 地理位置 标签: 监督学习中需要预测的目标变量,是模型的输出目标。如: 房屋价格 样本: 如: {面积100㎡…