网络安全之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安全等(可分享)

结语

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

特别声明:

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

,从而减少由网络安全而带来的经济损失

相关推荐
aixingkong9213 小时前
Nvidia为例 XPU的Multi-Host、Socket Direct 、GPUDirect、RDMA 技术点分析
服务器·网络·硬件架构·硬件工程
云水一下6 天前
零基础玩转bWAPP靶场(七十一):Slow HTTP DoS(慢速HTTP拒绝服务)
web安全·bwapp·slowhttptest
虎头金猫6 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5556 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
QYRdata6 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK6 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19926 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖6 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20236 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5556 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网