网络安全之tcpdump工具

引言

    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"

                    网络安全学习路线

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

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

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

                    最后
                    • 如果你确实想自学的话,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,我都已经学过了,都可以免费分享给大家!

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

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

                    结语

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

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

                    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/897537.shtml

                    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

                    相关文章

                    VC++ 获取目的IP的路由

                    GetBestRoute 函数获取到目的IP的最佳匹配路由。 第一个参数为:destination(目的IP) 第二个参数为:source(源IP) 通常不需要指定第二个source,这个一般用来匹配具体某一个网卡接口路由的&…

                    JavaScript 模块 vs C# 类:封装逻辑的两种哲学

                    引言 在现代软件开发中,模块化和面向对象设计是代码组织的核心课题。本文通过对比 JavaScript 模块(ES6 Module)与 C# 类(Class)的实现方式,探讨两种语言在封装逻辑时的不同哲学,并给出实际应用…

                    大模型在甲状腺癌诊疗全流程预测及方案制定中的应用研究

                    目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 国内外研究现状 二、大模型预测甲状腺癌的理论基础 2.1 甲状腺癌相关医学知识 2.2 大模型技术原理与特点 2.3 大模型在医疗领域的应用潜力 三、术前预测方案 3.1 预测模型构建 3.1.1 数据收集与预处理 …

                    electron+vue+webview内嵌网页并注入js

                    vue内嵌网页可以使用iframe实现内嵌网页,但是只能通过postMessage间接通信,在electron环境下,vue可以直接使用webview来内嵌网页,支持 executeJavaScript、postMessage、send 等丰富的通信机制。 使用 webview的优势 性能更佳&…

                    leetcode日记(95)将有序数组转换为二叉搜索树

                    很简单,感觉自己越来越适应数据结构题目了…… /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : va…

                    【threejs实战教程一】初识Three.js,场景Scene、相机Camera、渲染器Renderer

                    Three.js是一个基于WebGL的JavaScript 3D图形库,用于在浏览器中创建和显示3D内容 Three.js中最基础的三个关键要素就是场景Scene、相机Camera、渲染器Renderer 通俗一点理解,场景就是我们生活中一个具体的场景,比如自然环境中的一栋建筑&…

                    【leetcode hot 100 138】随机链表的复制

                    解决一:回溯 哈希表 本题要求我们对一个特殊的链表进行深拷贝。如果是普通链表,我们可以直接按照遍历的顺序创建链表节点。而本题中因为随机指针的存在,当我们拷贝节点时,「当前节点的随机指针指向的节点」可能还没创建&#xf…

                    木马查杀之AST初识篇

                    一、AST 定义 抽象语法树(Abstract Syntax Tree,AST)是源代码的一种抽象表示形式。它以树状结构描述源代码的语法构成,树上的每个节点都对应源代码中的一个语法结构或元素,像变量声明、函数调用、表达式等。通过这种结…

                    vscode接入DeepSeek 免费送2000 万 Tokens 解决DeepSeek无法充值问题

                    1. 在vscode中安装插件 Cline 2.打开硅基流动官网 3. 注册并登陆,邀请码 WpcqcXMs 4.登录后新建秘钥 5. 在vscode中配置cline (1) API Provider 选择 OpenAI Compatible ; (2) Base URL设置为 https://api.siliconflow.cn](https://api.siliconfl…

                    如何在保持安全/合规的同时更快地构建应用程序:DevOps 指南

                    随着敏捷思维方式的兴起,开发和 DevOps 团队都面临着持续的压力,他们需要以迭代方式缩短发布周期并加快部署速度,以满足不断增长的客户期望。随着这种对速度的追求越来越强烈,维护安全性和合规性标准的复杂性也随之增加。 当今 D…

                    Java中常见的PO、VO、DAO、BO、DO、DTO、POJO、Query类解释(通俗易懂)

                    文章目录 先点击收藏和点赞,切勿白嫖,感谢一丶PO(persistant object)持久对象二丶VO(value object)值对象三丶DAO(Data Access Objects) 数据访问对象接口四丶BO/DO(Business Object) 业务对象层五丶DTO(Data Transfer Object) 数据传输对象六丶POJO(Plain Old Java Objects) 简…

                    Websocket的基本使用

                    1. WebSocket WebSocket 是一种在单个TCP连接上进行全双工通信的协议,它在现代 Web 开发和网络应用中发挥着重要作用。在 WebSocket 出现之前,实现服务器与客户端实时通信主要采用轮询Polling和长轮询Long - Polling等技术。轮询是客户端定时向服务器发…

                    MySQL安装及基础操作

                    以下是基于MySQL 8.4.3版本(在Win11上)的安装: 1.mysql的获取 官网:www.mysql.com 也可以从Oracle官方进入:https://www.oracle.com/ 下载地址:https://downloads.mysql.com/archives/community/ 两者…

                    基于6自由度搬运机器人完成单关节伺服控制实现的详细步骤及示例代码

                    以下是基于6自由度搬运机器人完成单关节伺服控制实现的详细步骤及示例代码: 1. 系统概述 单关节伺服控制是指对机器人的单个关节进行精确的位置、速度或力矩控制。在6自由度搬运机器人中,每个关节通常由伺服电机驱动,通过反馈传感器&#x…

                    虚拟机新挂载磁盘后磁盘无法使用ssh问题 Permission denied (publickey).

                    在给vmware虚拟机挂载磁盘后再新磁盘目录里面使用ssh拉取代码一直报错: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. manifests: 虚拟机可以添加硬盘,…

                    每天五分钟深度学习框架PyTorch:ResNet算法模型完成CAFIR十分类

                    本文重点 ResNet模型已经搭建完成了,本文我们使用ResNet来跑一下CAFIR10的数据集,看一下分类效果如何? 代码 本文总结 在之前的课程中我们对残差块以及ResNet模型进行了详细的介绍,并且我们对模型训练这些基础的数据集进行了详…

                    Python网络爬虫与数据采集实战——网络爬虫的基本流程

                    网络爬虫(Web Scraper)是用于自动化地从互联网上抓取信息的程序。它广泛应用于搜索引擎、数据采集、市场分析等领域。本文将详细探讨网络爬虫的基本流程,包括URL提取、HTTP请求与响应、数据解析与存储,以及一个实际的爬虫示例。文…

                    1.3 双指针专题:快乐数(medium)

                    1.题目链接 202. 快乐数 - 力扣(LeetCode)https://leetcode.cn/problems/happy-number/submissions/609206400/ 2.题目描述 编写⼀个算法来判断⼀个数 n 是不是快乐数。 「快乐数」 定义为: 对于⼀个正整数,每⼀次将该数替换…

                    系统结构知识点

                    1.主存和辅存以页面交换数据 2.计算机系统硬件固体软件 3.计算机系统结构概念的实质是确定计算机系统中软,硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固体实现的功能 4.计算机组成是指计算机系统结构的逻辑实现。计算机实现是…

                    STM32 HAL库 CAN过滤器配置

                    之前在STM32 f407 CAN收发 基于HAL库和Cubemx配置_stm32f407can收发程序-CSDN博客这篇博文里写了一下配置CAN收发的方法,当时由于并没有使用过滤器的现实需求,所以就也没仔细研究。现在工作中确实需要用到过滤器了,有些项目中控制器和发动机E…