博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
macOS的pfctl使用
阅读量:4030 次
发布时间:2019-05-24

本文共 1154 字,大约阅读时间需要 3 分钟。

前言

最近工作上有参于一个网络SDK的开发与测试,测试过程中需要拦截某些IP的TCP/UDP的网络请求,便使用到了pfctl命令,觉得它是个很方便、小巧却功能强大的工具,所以写此篇文档作为一个学习笔记,同时跟大家分享相关的内容

ptctl的说明

pfctl命令是PF防火墙的配置命令,PF防火墙( 全称:Packet Filter )是UNIX LIKE系统上进行TCP/ip流量过滤和网络地址转换的软件系统。PF同样也能提供TCP/IP流量的整形和控制,并且提供带宽控制和数据包优先集控制。PF最早是由Daniel Hartmeier开发的,现在的开发和维护由Daniel和openBSD小组的其他成员负责。

示例

主机环境如下截图所示

在这里插入图片描述
使用方式示例
1、编辑规则文件,添加相关的网络处理规则

# 需要管理员权限才能编辑	/etc/pf.conf,可以使自己习惯的编辑器,如vim等sudo emacs /etc/pf.conf# 在/etc/pf.conf 文件最后面添加如下规则(丢弃发给175.6.128.23的upd数据包),并保存block drop proto udp from any to 175.6.128.23

2、导入并执行网络处理规则

sudo pfctl -ef /etc/pf.conf# 成功执行后一般出现如下提示

在这里插入图片描述

TIPS: 可以使用man pfctl查看pfctl的所有功能

ptctl的常用示例

# pfctl -f /etc/pf.conf  载入 pf.conf 文件# pfctl -nf /etc/pf.conf 解析文件,但不载入# pfctl -Nf /etc/pf.conf 只载入文件中的NAT规则# pfctl -Rf /etc/pf.conf 只载入文件中的过滤规则# pfctl -sn 显示当前的NAT规则# pfctl -sr 显示当前的过滤规则# pfctl -ss 显示当前的状态表# pfctl -si 显示过滤状态和计数# pfctl -sa 显示任何可显示的

pf.conf文件的说明

pf.conf文件有7个部分:宏:用户定义的变量,包括IP地址,接口名称等等。表:一种用来保存IP地址列表的结构。选项:控制PF如何工作的变量。整形:重新处理数据包,进行正常化和碎片整理。排队:提供带宽控制和数据包优先级控制。转换:控制网络地址转换和数据包重定向。过滤规则:在数据包通过接口时允许进行选择性的过滤和阻止。除去宏和表,其他的段在配置文件中也应该按照这个顺序出现,尽管对于一些特定的应用并不是所有的段都是必须的。空行会被忽略,以#开头的行被认为是注释。

TIPS: 可以使用man pf.conf 查看pf.conf的所有功能

参考文章

转载地址:http://wumbi.baihongyu.com/

你可能感兴趣的文章
Android2.1消息应用(Messaging)源码学习笔记
查看>>
在android上运行native可执行程序
查看>>
Phone双模修改涉及文件列表
查看>>
android UI小知识点
查看>>
Android之TelephonyManager类的方法详解
查看>>
android raw读取超过1M文件的方法
查看>>
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>