Repository URL to install this package:
|
Version:
4.0.111 ▾
|
ó
®EYc @ sy d Z d d l m Z d d l m Z m Z d d l m Z m Z m 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 sg t } xQ| j d D]@} d | k r| j d d \ } } | sR d } n | sa d } n t | } t | } d | k o d k n o® d | k o¬ d k n sÄ t d | n | | k rã t d | n xs t | | d D] } | j | q÷ Wq t | } d | k o4d k n sLt d | n | j | 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( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _nmap_octet_target_values s* 8c C s¦ t | s% t d t | n | s: t d n | j d } t | d k rn 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( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _generate_nmap_octet_ranges0 s
c
c s8 d | k r | j d d \ } } d t | k oA d k n sY t d | n t | } | j d k r t d n x® | D] } | Vq Wn d | k r¶ 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( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _parse_nmap_target_specD s" "
c C s9 y t t | t SWn t t t f k
r4 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! ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/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( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/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 ( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt <module> s