在Linux系统中,我们经常用iptables对数据包进行限制,最常见的就比如:

[root@s109 ~]#iptables -nvL

Chain INPUT (policy DROP 830 packets, 176K bytes)

pkts bytes target     prot opt in     out     source               destination

4954 2547K ACCEPT     all  —  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

77  4536 ACCEPT     all  —  lo     *       0.0.0.0/0            0.0.0.0/0

3   132 ACCEPT     tcp  —  *      *       10.0.0.0/8           0.0.0.0/0           tcp dpt:22 state NEW

0     0 DROP       tcp  —  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 state NEW

10012  736K ACCEPT     icmp —  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 3/sec burst 5

46  2024 ACCEPT     tcp  —  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80

0     0 ACCEPT     all  —  *      *       0.0.0.0/0            224.0.0.18

736 63525 ACCEPT     udp  —  *      *       10.0.0.0/8           0.0.0.0/0           udp dpt:161

这里只写了一部分,在INPUT链中默认规则是DROP,所有没有匹配到列表的数据包会被丢弃。

但是有时我们想看一下被iptables丢弃的数据包,比如以前没有开启iptables,开启iptables有可能会丢弃正常的数据包。

我们可以使用iptables中的LOG动作来对这些数据进行记录。

最简单的使用办法

iptables -A INPUT -j LOG –log-prefix=”iptables-”

这样我们就可以把匹配上iptables规则的数据包写到syslog中。

因为iptables是按照自上而下的顺序对数据包进行匹配,所以在最底下添加LOG记录,也就是记录了执行默认规则的数据包。

我们来看一下syslog:

Apr 10 17:45:54 S109 kernel: iptables-IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:52:54:00:02:12:a8:08:00 SRC=0.0.0.0 DST=255.255.255.255 LEN=330 TOS=0x00 PREC=0x00 TTL=128 ID=4225 PROTO=UDP SPT=68 DPT=67 LEN=310

Apr 10 17:46:03 S109 kernel: iptables-IN=eth1 OUT= MAC=ff:ff:ff:ff:ff:ff:52:54:00:02:12:a8:08:00 SRC=0.0.0.0 DST=255.255.255.255 LEN=330 TOS=0x00 PREC=0x00 TTL=128 ID=4226 PROTO=UDP SPT=68 DPT=67 LEN=310

Apr 10 17:46:09 S109 kernel: iptables-IN=eth1 OUT= MAC=78:2b:cb:42:a7:2f:3c:e5:a6:4d:59:00:08:00 SRC=184.173.144.34 DST=113.31.131.27 LEN=72 TOS=0x00 PREC=0x00 TTL=44 ID=29448 DF PROTO=UDP SPT=53 DPT=11437 LEN=52

Apr 10 17:46:16 S109 kernel: iptables-IN=eth1 OUT= MAC=78:2b:cb:42:a7:2f:3c:e5:a6:4d:59:00:08:00 SRC=184.173.144.34 DST=113.31.131.27 LEN=72 TOS=0x00 PREC=0x00 TTL=44 ID=30057 DF PROTO=UDP SPT=53 DPT=11826 LEN=52

源MAC、目的MAC、源IP、目的IP、源端口、目的端口都被记录到了syslog。

通过分析这些日志,可以找出是否错误的拒绝了数据包。

linux如何查看丢弃数据包,如何查看被iptables丢弃的数据包相关推荐

  1. Cisco Packet Tracer下载和安装、构建网络拓扑、配置网络设备、跟踪数据包、查看数据包

    Cisco Packet Tracer下载和安装.构建网络拓扑.配置网络设备.跟踪数据包.查看数据包 下载 一.注册Cisco账户 网址:https://www.cisco.com/c/en/us/i ...

  2. wireshark抓包后查看数据报时的过滤规则/过滤语法及举例说明

    wireshark抓包后查看数据报时的过滤规则/过滤语法及举例说明过滤器的区别捕捉过滤器(CaptureFilters):用于决定将什么样的信息记录在捕捉结果中.需要在开始捕捉前设置.显示过滤器(Di ...

  3. 大数据Linux命令之yum网络安装和查看端口号

    一.yum网络安装 yum 主要用于自动安装.升级 rpm 软件包,它能自动查找并解决 rpm 包之间的依赖关系.要使用 yum工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的 repo ...

  4. Linux的readlink与dirname $0和readlink用法以及sed的使用,Linux系统盘和数据盘的查看等整理汇总

    Linux与Shell相关命令整理 dirname $0和readlink用法 获取当前脚本路径 path.sh dirname $0 只是获取的当前脚本的相对路径. #!/bin/bash path ...

  5. linux 查看硬盘的uuid_Ubuntu中查看硬盘分区UUID的方法(所有Linux目录的解释)

    在Ubuntu中UUID的两种获取方法,至于UUID是什么,你可以大概理解为分区的标识符,像条形码那样. 在终端中输入下面的命令就可心查看到分区UUID了. 命令1. sudo blkid 命令2. ...

  6. 查看linux创建了哪些用户组,Linux查看用户属于哪些组/查看用户组下有哪些用户...

    一.关于/etc/group格式的讨论 在说/etc/group格式的时候,网上很多文章都会说是"组名:组密码:组ID:组下用户列表",这说法对了解/etc/group格式是没问题 ...

  7. npm、pnpm和yarn使用(官网、安装、命令行、上传自己的包、包版本号详解、更新卸载包、查看所有版本、同等依赖peer、可选依赖optional)

    目录 npm 官网 npm install packageName npm i packagename@版本号 安装git上发布的包 npm ci 注意(对比npm i) npm outdated n ...

  8. Hadoop(八)Java程序访问HDFS集群中数据块与查看文件系统

    阅读目录(Content) 一.HDFS中数据块概述 1.1.HDFS集群中数据块存放位置 1.2.数据块(data block)简介 1.3.对分布式文件系统中的块进行抽象会带来很多好处 二.Jav ...

  9. linux查看jdk版本_linux环境查看jdk版本

    2.设置环境变量.#vi/etc/profile在最后面加入#setjavaenvironmentexportjava_home=/usr/java/jdk-1_5_0_02exportclasspa ...

最新文章

  1. Java魔法堂:深入正则表达式API
  2. ASP.NET-------字符串和字节数组转换
  3. IIS6.0+PHP+Mysql+Zend环境组建[图文]
  4. linux kernel中的module_init/initcall代码导读
  5. 前端基础之CSS_2
  6. 省选模拟赛记录(越往下越新哦~~~)
  7. 删除已弃用的CMS垃圾收集器的JEP草案
  8. weblogic集群部署与负载均衡_集群,负载均衡,分布式的讲解和多台服务器代码同步...
  9. Attribute in C#
  10. Linux下使用GDAL进行开发(automake使用)
  11. Python学习之路day02——007字典的嵌套
  12. 安卓如何让listview在上下两个按钮之间充满_如何提高超声波塑胶焊接机生产效率...
  13. 关于Java中的final关键字
  14. 社会计算经典谈——书籍销量预测
  15. 小白入,告诉你.ssh新建config文件究竟是哪种文件!
  16. 丢机者要哭:苹果移除了 iCloud 激活锁状态查询页面
  17. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十八) 落雷!治疗!陷阱!连锁闪电!多段群伤!魔法之终极五重奏①...
  18. Java随机生成加减乘除运算,并记录结果
  19. 美的微晶冰箱以云数据为驱动,实现智能保鲜冰箱智慧新升级
  20. html5圆圈,javascript – 如何在HTML5画布中绘制带有文本的圆圈

热门文章

  1. Android开发 软键盘的右下角变为搜索按钮
  2. plu/sql 添加运程数据库
  3. Github的免费计算资源,来做个自动网易云签到吧
  4. cps配置之京东联盟篇
  5. 第6章 数据库编程---数据库原理及应用
  6. 心脏线绘制python_这个心脏线怎么画?
  7. 成功进行射频与模拟混合信号PCB设计需要考虑的因素
  8. Attribution
  9. Neutron的VLAN实现模型
  10. Keil MDK使用第16篇---call stack +locals 调用堆栈值