Linux- 系统随你玩之--网络上的黑客帝国

请添加图片描述

文章目录

  • 1、前言
  • 2、TCPDump介绍
    • 2.1、问题来了: 所有用户都可以采用该命令吗?
    • 2.2、抓包原理
    • 2.3、特点
      • 2.3.1、参数化支持
      • 2.2.2、 TCP功能
  • 3、 服务器安装Tcpdump
    • 3.1、安装
    • 3.2、检查安装是否正常。
  • 4、tcpdump 命令
    • 4.1、常用功能选项
    • 4.2、输出内容
  • 5、实操
    • 5.1、常见用法
    • 5.2、监听指定域名TCP协议数据包
    • 5.3、tcpdump与Wireshark
  • 6、结语

1、前言

黑客帝国系列片 大家都看过了,知道网络黑客尼奥发现看似正常的现实世界实际上是由一个名为“矩阵”的计算机人工智能系统控制的,然后尼奥见到了黑客组织的首领墨菲斯,三人走上了抗争矩阵征途的故事 。
那么黑客都是些什么人了?
黑客如今在互联网上已经不再是鲜为人知的人物,他们已经发展成网络上的一个独特的群体。他们有着与常人不同的理想和追求,有着自己独特的行为模式,网络上出现了很多由一些志同道合的人组织起来的黑客组织。
在信息安全里,“黑客”指研究智取计算机安全系统的人员。利用公共通讯网路,如互联网和电话系统,在未经许可的情况下,载入对方系统的被称为黑帽黑客(英文:black hat,另称cracker);调试和分析计算机安全系统的白帽黑客(英语:white hat)。“黑客”一词最早用来称呼研究盗用电话系统的人士。
他们有个共同点都是利用公共通讯网路,进行着不同的活动。
而今天我们的主角也是针对网络进行数据采集与分析的工具,它就是TCPDump
老样子,我们本文主要介绍了LinuxTCPDump命令使用详解,文中会通过非常详细的示例代码介绍,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随我来一起学习!

2、TCPDump介绍

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。
Tcpdump是一个用于截取网络分组,并输出分组内容的工具。
tcpdump凭借强大的功能和灵活的截取策略,使其成为类UNIX系统下用于网络分析和问题排查的首选工具。

  1. tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。
    它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

2. 同时tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性。

基本上tcpdump的总的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

2.1、问题来了: 所有用户都可以采用该命令吗?

虽然tcpdump提供源代码,公开了接口,具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。
但tcpdump普通用户不能正常执行,需要具备root权限的用户才可以直接执行它来获取网络上的信息。

2.2、抓包原理

linux抓包是通过注册一种虚拟的底层网络协议来完成对网络报文(准确的是网络设备)消息的处理权。
当网卡接收到一个网络报文之后,它会遍历系统中所有已经注册的网络协议,如以太网协议、x25协议处理模块来尝试进行报文的解析处理。
当抓包模块把自己伪装成一个网络协议的时候,系统在收到报文的时候就会给这个伪协议一次机会,让它对网卡收到的保温进行一次处理,此时该模块就会趁机对报文进行窥探,也就是啊这个报文完完整整的复制一份,假装是自己接收的报文,汇报给抓包模块。

2.3、特点

2.3.1、参数化支持

1.参数
tcpdump支持相当多的不同参数。
如使用-i参数指定tcpdump监听的网络接口, 使用-c参数指定要监听的数据包数量,
使用-w参数指定将监听到的数据包写入文件中保存等。
2.安全
一般情况下网络硬件和TCP/IP堆栈不支持接收或发送与本计算机无关的数据包,为了接收这些数据包,就必须使用网卡的混杂模式,并绕过标准的TCP/IP 堆栈才行。
在FreeBSD下,这就需要内核支持伪设备bpfilter。因此,在内核中取消bpfilter支持,就能屏蔽tcpdump之类的网络分析工具。
并且当网卡被设置为混杂模式时,系统会在控制台和日志文件中留下记录,提醒管理员留意这台系统是否被用作攻击同网络的其他计算机的跳板。
3.解码
tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

2.2.2、 TCP功能

tcpDump将搜索系统中第一个网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,
数据太多不利于分析。所以,我们应当先想好需要哪些数据,TcpDump提供了很多参数供我们选择数据过滤。

3、 服务器安装Tcpdump

3.1、安装

一般情况下Linux系统会自带tcpdump工具,如果系统没有安装,直接用命令安装就行了。
在 linux服务器上我们使用 yum install -y tcpdump命令来安装tcpdump工具。

3.2、检查安装是否正常。

查看安装版本命令:tcpdump --help
在这里插入图片描述

4、tcpdump 命令

4.1、常用功能选项

tcpdump [-adeflnNOpqStvx][-c 数据包数量>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
  
参数说明:
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络界面> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。

4.2、输出内容

基本上tcpdump总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数
在这里插入图片描述

5、实操

5.1、常见用法

1. 查看网卡命令:ifconfig
知道了网卡,就可以使用tcpdump工具针对服务器上的网卡进行监控、过滤网络数据了。

在这里插入图片描述

2. 查看本地网卡状态
在这里插入图片描述
Iface:存在的网卡。
MTU:最大传输单元。
RX-OK RX-ERR RX-DRP RX-OVR:正确接收数据报的数量以及发生错误、流式、碰撞的总数。
TX-OK TX-ERR TX-DRP TX-OVR:正确发送数据报的数量以及发生错误、流式、碰撞的总数。
3. 指定网卡
普通情况下,直接启动tcpdump将监视第一个网络端口所有流过的数据包。
如果不指定网卡,默认tcpdump只会监视第一个网络接口。

tcpdump -i ens33(网卡名)
在这里插入图片描述

4.监视所有进入或离开主机xps的数据包。xps为主机名。

tcpdump host xps

5.监视指定ip,截获指定主机收到和发出的所有数据包。
tcpdump host 192.168.1.5
6.截获主机192.168.1.5和192.168.1.10或192.168.1.113的通信包
tcpdump host 192.168.1.5 and (192.168.1.10 or 192.168.1.13)
7.打印xps与任何其他主机之间通信的IP数据包,但不包括与xps1之间的通信包
tcpdump ip host xps and not xps1
8.截获主机192.168.1.5除了和192.168.1.13之外所有的主机通信的ip包
tcpdump ip host 192.168.1.5 and ! 192.168.1.13
9.截获主机hostname发送的所有数据
tcpdump -i ens33 src host hostname
10.截获送到主机hostname的所有数据
tcpdump -i ens33 dst host hostname

在这里插入图片描述

5.2、监听指定域名TCP协议数据包

步骤一、开始监听指定域名的ip包流量:
tcpdump host baidu.com。
步骤二、打开浏览器、访问 baidu.com
此时、命令行下可以看到客户端和baidu服务之间的TCP协议IP包、学习网络协议的时候、配合使用很方便。
2、监听来自指定域名的TCP协议包数据包:
步骤一、开始监听指定域名的ip包流量:
tcpdump src host baidu.com。
步骤二、打开浏览器、访问 baidu.com
此时、命令行下可以看到客户端和baidu服务之间的TCP协议IP包、学习网络协议的时候、配合使用很方便。
3、监听发送到指定域名的TCP协议包数据包:
步骤一、开始监听指定域名的ip包流量:
tcpdump dst host baidu.com。
步骤二、打开浏览器、访问 baidu.com
此时、命令行下可以看到客户端和baidu服务之间的TCP协议IP包、学习网络协议的时候、配合使用很方便。
4、监听指定端口的tcp包
步骤一、开始监听:
tcpdump tcp port 80。
步骤二、打开另外一个终端、使用nc 192.168.10.188 80命令访问80端口。
此时、tcpdump监听终端下可以看到请求和返回的ip包。同理、如果要监听udp包可以用:tcpdump udp port 9999

5.3、tcpdump与Wireshark

我们可以把二者进行结合,在Linux中抓包,在windows中分析包。

tcpdump tcp -i ens33 -t -s 0 -c 5 and dst port ! 22 and src net 192.168.1.10/24 -w ./targetfile.cap

1.tcp: ip icmp arp rarp和tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型;
2. -i eth1 : 只抓取经过ens33 的数据包
3.-t: 不显示时间戳
4.-s 0 :抓取数据包时默认抓取长度为68字节,加上-S 0后可以抓取完整的数据包
5.-c 5: 只抓取5个数据包
6.dst port ! 22 : 不抓取目标端口为22的数据包
7.src net 192.168.1.10/24: 数据包的源网络地址是192.168.1.10/24
8.-w ./targetfile.cap: 保存为cap文件,方便用ethereal(wireshark)分析。

6、结语

tcpdump针对网络进行数据采集与分析,同时保存到指定文件,用wireshark来打开查看。可以快速查看符合网络接口符合某一条件的抓包,方便我们确定网络问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023年度数学建模竞赛汇总

本人7年数学建模竞赛经验&#xff0c;历史获奖率百分之百。团队成员都是拿过全国一等奖的硕博&#xff0c;有需要数模竞赛帮助的可以私信我。 下面主要列几年一些比较有含金量的数学建模竞赛&#xff08;按比赛时间顺序&#xff09; 1. 美国大学生数学建模竞赛 报名时间&…

30个题型+代码(冲刺2023蓝桥杯)(中)

2023.3.13~4.13持续更新 目录 &#x1f34e;注意 &#x1f33c;前言 &#x1f33c;十&#xff0c;KMP&#xff08;留坑&#xff09; &#x1f33c;十一&#xff0c;Trie&#xff08;留坑&#xff09; &#x1f33c;十二&#xff0c;BFS &#x1f44a;(一)1562. 微博转发…

ChatGPT的N种用法(持续更新中。。。)

目录前言一、语法更正二、文本翻译三、语言转换3-1、Python-->JAVA四、代码解释-1五、代码解释-2六、修复代码错误六、作为百科全书七、信息提取七、好友聊天八、创意生成器8-1、VR和密室结合8-2、再结合AR九、采访问题9-1、采访问题清单9-2、采访问题清单并给出相应答案十、…

学习 Python 之 Pygame 开发坦克大战(一)

学习 Python 之 Pygame 开发坦克大战&#xff08;一&#xff09;Pygame什么是Pygame?初识pygame1. 使用pygame创建窗口2. 设置窗口背景颜色3. 获取窗口中的事件4. 在窗口中展示图片(1). pygame中的直角坐标系(2). 展示图片(3). 给部分区域设置颜色5. 在窗口中显示文字6. 播放音…

Spring的创建和使用

目录 创建Spring项目 步骤 1)使用Maven的方式创建Spring项目 2)添加Spring依赖 3)创建启动类 存Bean对象 1.创建Bean对象 2.将Bean注册到Spring中 取Bean对象并使用 步骤 1.先得到Spring上下文对象 2.从Spring中获取Bean对象 3.使用Bean ApplicationContext VS Bea…

vue3+vite项目移动端适配:postcss-pxtorem和amfe-flexible

一&#xff0c;定义 postcss-pxtorem PostCSS 的一个插件&#xff0c;可以从像素单位生成 rem 单位。 amfe-flexible amfe-flexible是配置可伸缩布局方案&#xff0c;主要是将1rem设为viewWidth/10。 二&#xff0c;使用 1. 设置 viewport 在 index.html 中&#xff1a; &l…

MATLAB绘制ROC曲线

ROC曲线(Receiver Operating Characteristic Curve) 1 简介 ROC曲线是用于评估二元分类模型&#xff08;如Logistic回归&#xff09;表现优劣的一种工具&#xff0c;其横轴表示假阳性率&#xff08;false positive rate&#xff0c;FPR&#xff09;&#xff0c;即实际为负例但…

读书笔记——《富爸爸穷爸爸》

《富爸爸穷爸爸》&#xff0c;以前不屑读这种书。这种书就是那种走进书店放在门口展销位的成功学著作&#xff0c;一眼看上去没什么实在的内容&#xff0c;看上去很不靠谱&#xff0c;感觉就是骗一些社会底层又做着暴富梦的人来买的&#xff0c;但是由于自身原因或环境局限根本…

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

前言 (&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨 大家好 现在应该每个人都玩过游戏吧&#xff0c;有些的上瘾&#xff0c;天天玩停不下来&#xff0c;有些的倒是没啥感觉 有游戏就肯定有陪玩啊&#xff0c;毕竟当朋友忙的时候&#xff0c;自己一个…

图片的美白与美化

博主简介 博主是一名大二学生&#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇&#xff0c;博主致力于在这里分享关于人工智能&#xff0c;c&#xff0c;Python&#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主&#xff0c;博主会继续更新的&#xff0c…

蓝桥杯第十四届蓝桥杯模拟赛第三期考场应对攻略(C/C++)

这里把我的想法和思路写出来&#xff0c;恳请批评指正&#xff01; 目录 考前准备 试题1&#xff1a; 试题2&#xff1a; 试题3&#xff1a; 试题4&#xff1a; 试题5&#xff1a; 试题6&#xff1a; 试题7&#xff1a; 试题8&#xff1a; 试题9&#xff1a; 试题1…

电子工程师必须掌握的硬件测试仪器,你确定你都掌握了?

目录示波器示例1&#xff1a;测量示波器自带的标准方波信号输出表笔认识屏幕刻度认识波形上下/左右移动上下/左右刻度参数调整通道1的功能界面捕获信号设置Menu菜单触发方式触发电平Cursor按钮捕捉波形HLEP按钮参考资料频谱分析仪器信号发生器示波器 示例1&#xff1a;测量示波…

HTML 扫盲

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录前言HTML 结构快速生成代码框架HTML 常见标签注释标签标题标签: h1-h6段落标签&#xff1a;p换行标签&#xff1a;br格式化标签…

学习 Python 之 Pygame 开发魂斗罗(四)

学习 Python 之 Pygame 开发魂斗罗&#xff08;四&#xff09;继续编写魂斗罗1. 创建子弹类2. 根据玩家方向和状态设置子弹发射的位置(1). 站立向右发射子弹(2). 站立向左发射子弹(3). 站立朝上发射子弹(4). 蹲下发射子弹(5). 向斜方发射子弹(6). 奔跑时发射子弹(7). 跳跃时发射…

iOS-砸壳篇(两种砸壳方式)

CrackerXI砸壳呢&#xff0c;当时你要是使用 frida-ios-dump 也是可以的&#xff1b; https://github.com/AloneMonkey/frida-ios-dump frida-ios-dump: 代码中需要更改的&#xff1a;手机中的内网ip 密码 等 最后放到我的砸壳路径里&#xff1a; python dump.py -l查看应用…

看完书上的栈不过瘾,为什么不动手试试呢?

一.栈的基本概念1.栈的定义栈&#xff08;Stack&#xff09;&#xff1a;是只允许在一端进行插入或删除的线性表。首先栈是一种线性表&#xff0c;但限定这种线性表只能在某一端进行插入和删除操作。其中注意几点&#xff1a;栈顶&#xff08;Top&#xff09;&#xff1a;线性表…

【PyTorch】Pytorch基础第0章

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 这是目录PyTorch的简介PyTorch 构建深度学习模型的步骤搭建pytorch使用环境PyTorch的简介 PyTorch 是一个开源的机器学习框架&#xff0c;由 Facebook 的人工智能研究院&#xff08;…

Linux IPC:匿名管道 与 命名管道

目录一、管道的理解二、匿名管道三、命名管道四、管道的通信流程五、管道的特性进程间通信方式有多种&#xff0c;本文介绍的是管道&#xff0c;管道分为匿名管道和命名管道。 一、管道的理解 生活中的管道用来传输资源&#xff0c;例如水、石油之类的资源。而进程间通信的管道…

前端安全(自留)

目录XSS——跨站脚本常见解决CSRF ——跨站请求伪造常见解决XSS——跨站脚本 当目标站点在渲染html的过程中&#xff0c;遇到陌生的脚本指令执行。 攻击者通过在网站注入恶意脚本&#xff0c;使之在用户的浏览器上运行&#xff0c;从而盗取用户的信息如 cookie 等。 常见 解…

Visual Studio Code 1.76 发布

欢迎使用 Visual Studio Code 2023 年 2 月版&#xff0c;其中一些亮点包括&#xff1a; 配置文件 - 活动配置文件徽章&#xff0c;通过命令面板快速切换配置文件。辅助功能改进 - 新的音频提示&#xff0c;改进的终端屏幕阅读器模式。可移动的 Explorer 视图- 将资源管理器放…
最新文章