首页 > 系统相关 >Linux系统里的抓包工具全解

Linux系统里的抓包工具全解

时间:2023-04-07 09:47:10浏览次数:45  
标签:22 ack IP 192.168 41 length Linux 全解 工具

有时也许想看一下某个网卡上都有哪些数据包,尤其是当你初步判定服务器上有流量攻击时,使用抓包工具来抓取数据包就可以知道有哪些IP在攻击了。

14.2.1 tcpdump工具具体用法如下:
# tcpdump -nn -i ens33tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes09:41:46.647812 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 3649233742:3649233954, ack 443629343, win 251, length 21209:41:46.647976 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 212, win 253, length 009:41:46.648337 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 212:504, ack 1, win 251, length 29209:41:46.648493 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 504:668, ack 1, win 251, length 16409:41:46.648562 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 668, win 252, length 009:41:46.648651 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 668:928, ack 1, win 251, length 26009:41:46.648744 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 928:1092, ack 1, win 251, length 16409:41:46.648800 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 1092, win 256, length 009:41:46.648875 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 1092:1368, ack 1, win 251, length 27609:41:46.648978 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 1368:1532, ack 1, win 251, length 16409:41:46.649035 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 1532, win 254, length 009:41:46.649128 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 1532:1808, ack 1, win 251, length 27609:41:46.649206 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 1808:1972, ack 1, win 251, length 16409:41:46.649297 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 1972, win 253, length 009:41:46.649433 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 1972:2248, ack 1, win 251, length 27609:41:46.649531 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 2248:2412, ack 1, win 251, length 16409:41:46.649591 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 2412, win 251, length 009:41:46.649675 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 2412:2688, ack 1, win 251, length 27609:41:46.649760 IP 192.168.72.128.22 > 192.168.72.1.52219: Flags [P.], seq 2688:2852, ack 1, win 251, length 16409:41:46.649809 IP 192.168.72.1.52219 > 192.168.72.128.22: Flags [.], ack 2852, win 256, length 0
回车后会出现密密麻麻的一堆字符串,在按Ctrl+C之前,这些字符串一直在刷屏,刷屏越快说明网卡上的数据包越多。如果没有tcpdump命令,需要使用如下命令安装:
# dnf install -y tcpdump
上例中,我们只需要关注第3列和第4列,它们显示的信息为哪一个IP+端口号在连接哪一个IP+端口号。后面的信息是该数据包的相关信息,如果不懂也没有关系。其中-i选项后面跟设备名称,如果想抓取其他网卡的数据包,后面则要跟其他网卡的名字。-nn选项的作用是让第3列和第4列显示成“IP+端口号”的形式,如果不加-nn选项则显示 “主机名+服务名称”。阿铭在shell脚本中也经常会用到tcpdump工具。你可能会问,shell脚本是自动执行的,那我们如何按快捷键Ctrl+C结束抓包呢?tcpdump还有其他的选项可以使用。
# tcpdump -nn -i ens33 -c 100
上例中,-c的作用是指定抓包数量,抓够了自动退出,不用我们人为取消。阿铭再给大家列几个常用的示例:
  • 只抓22端口的包

# tcpdump -nn -i ens33 port 22
  • 指定抓tcp的包,但是不要22端口的

# tcpdump –nn –i ens33 tcp and not port 22
  • 只抓22和53端口的包

# tcpdump –nn –i ens33 port 22 and port 53

14.2.2 wireshark工具也许你在Windows下使用过wireshark这个抓包工具,它的功能非常强大。在Linux平台我们同样也可以使用它,只不过是以命令行的形式。wireshark的具体选项阿铭不再详细介绍,在日常工作中,tcpdump其实就已经够我们使用了。下面的用法是阿铭在工作中使用比较多的,希望你能掌握这些用法。
# tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"
我们要执行的命令是tshark,你的Linux默认是没有这个命令的,请使用如下命令安装:
# dnf install -y wireshark
然后再看看上面的抓包命令tshark,这条命令用于Web服务器,可以显示如下信息:
Jun 26, 2022 09:11:44.017592529 CST" 116.179.32.105 ask.apelearn.comGET  /question/96924473532
这类似于Web访问日志。若服务器没有配置访问日志,可以临时使用该命令查看一下当前服务器上的Web请求。在这里要注意的是,如果你的机器上没有开启Web服务,是不会显示任何内容的。
# tshark -n -i eth1 -R 'mysql.query' -T fields -e "ip.src" -e "mysql.query"
上面的命令会抓取eth1网卡mysql的查询都有哪些,不过这种方法仅仅适用于mysql的端口为3306的情况,如果不是3306,请使用下面的方法:
# tshark -i eth1 port 3307 -d tcp.port==3307,mysql -z "proto,colinfo,mysql.query,

标签:22,ack,IP,192.168,41,length,Linux,全解,工具
From: https://www.cnblogs.com/msjhw/p/17294944.html

相关文章

  • Java GenericObjectPool 对象池化技术--SpringBoot sftp 连接池工具类
    JavaBasePooledObjectFactory对象池化技术通常一个对象创建、销毁非常耗时的时候,我们不会频繁的创建和销毁它,而是考虑复用。复用对象的一种做法就是对象池,将创建好的对象放入池中维护起来,下次再用的时候直接拿池中已经创建好的对象继续用,这就是池化的思想。ApacheCommonsPoo......
  • frp内网穿透,linux服务器,windows客户端
    一、配置前准备1、下载frp,可以从github上下载下载地址:https://github.com/fatedier/frp/releases2、服务器端(点击名称下载)frp_0.48.0_linux_amd64.tar.gz3、客户端(点击名称下载)frp_0.48.0_windows_amd64.zip 二、将下载的frp文件,上传至linux服务器#进入指定文件夹cd/......
  • JVM系统优化实践(14):GC可视化工具
    您好,我是湘王,这是我的51CTO博客,欢迎您来,欢迎您再来~工欲善其事,必先利其器。知道了GC工作原理,学会了看GC日志之后,再来了解一下分析GC的工具。它们分别是jstat、jmap、jhat。jstat顾名思义,主要是用于查看JVM的内存和GC情况。先用jps找出Java进程的PID,再用jstat-gc[PID]查看JVM的内存......
  • Linux在游戏界的口碑树立
    说到娱乐,大家想到更多的肯定是游戏行业。王者荣耀、绝地求生、英雄联盟等游戏的运行都要依靠电脑来维持。那么什么是用来维持电脑运行的,让电脑运行的更稳定的呢?很多人会回答Windows平台,不得不承认Windows平台确实很普及,但是比Windows平台运行更稳定的当属Linux操作系统。并且Linux......
  • Linux在游戏界的口碑树立
    说到娱乐,大家想到更多的肯定是游戏行业。王者荣耀、绝地求生、英雄联盟等游戏的运行都要依靠电脑来维持。那么什么是用来维持电脑运行的,让电脑运行的更稳定的呢?很多人会回答Windows平台,不得不承认Windows平台确实很普及,但是比Windows平台运行更稳定的当属Linux操作系统。并且Linux......
  • Linux more命令
    Linuxmore命令Linuxmore命令类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按b键就会往回(back)一页显示,而且还有搜寻字串的功能(与vi相似),使用中的说明文件,请按h。语法more[-dlfpcsu][-num][+/pattern][+......
  • Linux mv 命令
    Linuxmv命令常用命令Linuxmv(英文全拼:movefile)命令用来为文件或目录改名、或将文件或目录移入其它位置。语法mv[options]sourcedestmv[options]source...directory参数说明:-b:当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。-i:如果指定移动的源目......
  • Linux lsattr命令
    Linuxlsattr命令Linuxlsattr命令用于显示文件属性。用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。语法lsattr[-adlRvV][文件或目录...]参数:-a显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."。-d显示,目录名称,......
  • Linux locate命令
    Linuxlocate命令Linuxlocate命令用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录。一般情况我们只需要输入locateyour_file_name即可查找指定文件。语法locate[-d][--help][--version][范本样式...]参数:-b,--basenam......
  • Linux less 命令
    Linuxless命令常用命令less与more类似,less可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。语法less[参数]文件参数说明:-b<缓冲区大小>设置缓冲区的大小-e当文件显示结束后,自动离开-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件-g只标......