⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 u_ownsinitfile.pas

📁 linux program to read packet data
💻 PAS
📖 第 1 页 / 共 2 页
字号:
(*
 * One Way Network Sniffer (OWNS)
 * Copyright (C) 2001-2002 OWNS
 *
 * http://owns.sourceforge.net/
 * http://www.owns.st
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License
 * as published by the Free Software Foundation; either version 2
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *)

(* $Id: u_OwnsInitFile.pas,v 1.2 2002/11/02 14:05:38 owns Exp $ *)

unit u_OwnsInitFile;

interface
uses IniFiles,SysUtils, u_Filter, u_FilterHttp;

type

  TOwnsIniFile  = class
  private
    FIniFile : TIniFile;
    function getSniffer() : String;
    procedure setSniffer(const sniffer : string);
    function getNetworkInterface() : String;
    procedure setNetworkInterface(const networkInterface : string);
    function getFromFile() : String;
    procedure setFromFile(const fromFile : string);

    function getBpf() : String;
    procedure setBpf(const bpf : string);
    function getOutputFiles : TFilePathConfig;
    procedure setOutputFiles(const filePathConfig : TFilePathConfig);
    procedure setOutputDir(const outputDir : String);
    function getOutputDir() : String;

    procedure setSaveHttp(const saveHttp : boolean);
    function getSaveHttp() : boolean;
    procedure setHttpFilterHeaders(const httpFilterHeaders : TFilterHeaders);
    function getHttpFilterHeaders() : TFilterHeaders;
    procedure setHttpTcpStreamFilter(const filterTcpStream : TFilterHttpTCPStream);
    function getHttpTcpStreamFilter() : TFilterHttpTCPStream;
    procedure setSaveHttpFiles(const saveHttpFiles : boolean);
    function getSaveHttpFiles() : boolean;
    procedure setSaveHttpFilesGreaterThan(const greaterThan : integer);
    function getSaveHttpFilesGreaterThan() : integer;
    procedure setHttpFilterExtensions(const httpFilterExtensions : TFiltreExtensions);
    function getHttpFilterExtensions() : TFiltreExtensions;
    procedure setRejectContentRange(const reject : boolean);
    function getRejectContentRange() : boolean;
    procedure setSavePop3Files(const savePop3Files : boolean);
    function getSavePop3Files() : boolean;
    procedure setSavePop3Stream(const savePop3Stream : boolean);
    function getSavePop3Stream() : boolean;
    procedure setSaveNntpFiles(const saveNntpFiles : boolean);
    function getSaveNntpFiles() : boolean;
    procedure setSaveNntpStream(const saveNntpStream : boolean);
    function getSaveNntpStream() : boolean;
    procedure setSaveOtherStream(const saveOtherStream : boolean);
    function getSaveOtherStream() : boolean;

  public
    constructor create(const fileName : String);
    destructor destroy; override;

    // source
    property sniffer : String read getSniffer write setSniffer;
    property networkInterface : String read getNetworkInterface write setNetworkInterface;
    property fromFile : string read getFromFile write setFromFile;

    // parameters
    property bpf : String read getBpf write setBpf;
    property outputDir : String read getOutputDir write setOutputDir;
    property outputFiles : TFilePathConfig read getOutputFiles write setOutputFiles;

    // http filter
    property saveHttp : boolean read getSaveHttp write setSaveHttp;
    property httpFilterHeaders : TFilterHeaders read getHttpFilterHeaders write setHttpFilterHeaders;
    property httpTcpStreamFilter : TFilterHttpTCPStream read getHttpTcpStreamFilter write setHttpTcpStreamFilter;
    property saveHttpFiles : boolean read getSaveHttpFiles write setSaveHttpFiles;
    property saveHttpFilesGreaterThan : integer read getSaveHttpFilesGreaterThan write setSaveHttpFilesGreaterThan;
    property httpFilterExtensions : TFiltreExtensions read getHttpFilterExtensions write setHttpFilterExtensions;
    property httpRejectContentRange : boolean read getRejectContentRange write setRejectContentRange;

    // pop3 filter
    property savePop3Files : boolean read getSavePop3Files write setSavePop3Files;
    property savePop3Stream : boolean read getSavePop3Stream write setSavePop3Stream;

    // nntp filter
    property saveNntpFiles : boolean read getSaveNntpFiles write setSaveNntpFiles;
    property saveNntpStream : boolean read getSaveNntpStream write setSaveNntpStream;

    // other protocols filter
    property saveOtherStream : boolean read getSaveOtherStream write setSaveOtherStream;
 end;


implementation

constructor TOwnsIniFile.create(const fileName : String);
begin
  inherited Create;
  FIniFile := TIniFile.Create(filename);
end;

destructor TOwnsIniFile.Destroy;
begin
  FIniFile.Free;
  inherited Destroy;
end;

function getNextToken(str : string;separator : char; var r_pos : integer) : string;
var
  token : string;
begin
  while (r_pos <= length(str)) do
  begin
    if (str[r_pos] = separator) then
    begin
      result := token; inc(r_pos); exit;
    end;
    token := token+str[r_pos];
    inc(r_pos);
  end;
  result := token;
end;


////////////////////////////////////////////////////////////////////////////////
//
// Source
//
////////////////////////////////////////////////////////////////////////////////

function TOwnsIniFile.getSniffer() : String;
begin
  result := AnsiLowerCase(FIniFile.ReadString('source','sniffer','libpcap'));
  if ((result <>'libpcap') and
      (result <>'seh') and
      (result <>'observer')) then result := 'libpcap';
end;

procedure TOwnsIniFile.setSniffer(const sniffer : string);
begin
  FIniFile.WriteString('source','sniffer',sniffer);
end;

function TOwnsIniFile.getNetworkInterface() : String;
begin
  result := AnsiLowerCase(FIniFile.ReadString('source','networkInterface',''));
end;

procedure TOwnsIniFile.setNetworkInterface(const networkInterface : string);
begin
  FIniFile.WriteString('source','networkInterface',networkInterface);
  FIniFile.WriteString('source','fromFile','');
end;

function TOwnsIniFile.getFromFile() : String;
begin
  result := AnsiLowerCase(FIniFile.ReadString('source','fromFile',''));
end;

procedure TOwnsIniFile.setFromFile(const fromFile : string);
begin
  FIniFile.WriteString('source','fromFile',FromFile);
  FIniFile.WriteString('source','networkInterface','');
end;

////////////////////////////////////////////////////////////////////////////////
//
// Parameters
//
////////////////////////////////////////////////////////////////////////////////

function TOwnsIniFile.getBpf() : String;
begin
  result := AnsiLowerCase(FIniFile.ReadString('parameters','bpf',''));
end;

procedure TOwnsIniFile.setBpf(const bpf : string);
begin
  FIniFile.WriteString('parameters','bpf',bpf);
end;


procedure TOwnsIniFile.setOutputDir(const outputDir : String);
begin
  FIniFile.WriteString('parameters','outputdir',outputDir);
end;

function TOwnsIniFile.getOutputDir() : String;
begin
  result := FIniFile.ReadString('parameters','outputdir','./files');
end;

procedure TOwnsIniFile.setOutputFiles(const filePathConfig : TFilePathConfig);
var
  pathConfig : String;
begin
  case filePathConfig of
    Ext_Id                   : pathConfig := 'ext\id.ext';                      // \files\jpg\Id265-0.jpg
    Ext_IPDest_PortDest_Id   : pathConfig := 'ext\ipdest id.ext';               // \files\jpg\192.56.45.46 4562 Id265-0.jpg
    IPDest_Ext_Id            : pathConfig := 'ipdest\ext\id.ext';               // \files\192.56.45.46\jpg\Id265-0.jpg
    Mime_IpDest_PortDest_Id  : pathConfig := 'mime\ext\ipdest portdest id.ext'; // \files\image\jpg\192.56.45.46 4562 Id265-0.jpg
  else
    pathConfig := 'ext\ipdest id.ext';
  end;
  FIniFile.WriteString('parameters','outputfiles',pathConfig);
end;

function TOwnsIniFile.getOutputFiles : TFilePathConfig;
var
  pathConfig : String;
begin
  pathCOnfig := FIniFile.ReadString('parameters','outputfiles','ext\ipdest id.ext');

  if (pathConfig = 'ext\id.ext') then
    result := Ext_Id
  else

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -