/usr/lib/python2.6/site-packages/netaddr/ip
Edit: /usr/lib/python2.6/site-packages/netaddr/ip/nmap.pyc (3752B)
Ñò
}DVc @ sy d Z d d k l Z d d k l Z l Z d d k l Z l Z l Z d „ Z
d „ Z d „ Z d „ Z
d „ Z d
S( sœ
Routines for dealing with nmap-style IPv4 address ranges.
Based on nmap's Target Specification :-
http://nmap.org/book/man-target-specification.html
iÿÿÿÿ( t AddrFormatError( t IPAddresst IPNetwork( t _iter_ranget _is_strt
_iter_nextc C sw t ƒ } xa| i d ƒ D]P} d | j oò | i d d ƒ \ } } | p
d } n | p
d } n t | ƒ } t | ƒ } d | j o
d j n o d | j o
d j n p t d | ƒ ‚ n | | j o t d | ƒ ‚ n xw t | | d ƒ D] } | i | ƒ qWq t | ƒ } d | j o
d j n p t d | ƒ ‚ n | i | ƒ q Wt | ƒ S( Nt ,t -i i iÿ s! octet value overflow for spec %s!s' left side of hyphen must be <= right %r( t sett splitt intt
ValueErrorR t addt sorted( t spect valuest elementt leftt rightt lowt hight octet( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt _nmap_octet_target_values s.
<
c C s¬ t | ƒ p t d t | ƒ ƒ ‚ n | p t d ƒ ‚ n | i d ƒ } t | ƒ d j o t d | ƒ ‚ n t | d ƒ t | d ƒ t | d ƒ t | d ƒ f S(
Ns string expected, not %ss* nmap target specification cannot be blank!t .i s invalid nmap range: %si i i i ( R t TypeErrort typeR R t lenR R ( t nmap_target_spect tokens( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt _generate_nmap_octet_ranges0 s
c
c sA d | j o– | i d d ƒ \ } } d t | ƒ j o
d j n p t d | ƒ ‚ n t | ƒ } | i d j o t d ƒ ‚ n x± | D] } | Vq Wn› d | j o t | ƒ Vn t | ƒ } xo | d D]c } xZ | d D]N } xE | d D]9 } x0 | d
D]$ } t d | | | | f d ƒ Vq Wqø Wqç WqÖ Wd S( Nt /i i i! s CIDR prefix expected, not %si s CIDR only support for IPv4!t :i i s %d.%d.%d.%d( R R
R R t versionR R (
t target_spect _t prefixt nett ipt octet_rangest wt xt yt z( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt _parse_nmap_target_specD s,
$
c C s; y t t | ƒ ƒ t SWn t t t f j
o n Xt S( s˜
:param target_spec: an nmap-style IP range target specification.
:return: ``True`` if IP range target spec is valid, ``False`` otherwise.
( R R+ t TrueR R R t False( R! ( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt valid_nmap_rangeZ s c g s1 x* | D]" } x t | ƒ D] } | Vq Wq Wd S( sV
An generator that yields IPAddress objects from defined by nmap target
specifications.
See https://nmap.org/book/man-target-specification.html for details.
:param *nmap_target_spec: one or more nmap IP range target specification.
:return: an iterator producing IPAddress objects for each IP in the target spec(s).
N( R+ ( R R! t addr( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt iter_nmap_rangeh s
N( t __doc__t netaddr.coreR t
netaddr.ipR R t netaddr.compatR R R R R R+ R. R0 ( ( ( s0 /tmp/pip-build-lt8jXN/netaddr/netaddr/ip/nmap.pyt
s