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

📄 np_longutil.py

📁 该软件根据网络数据生成NetFlow记录。NetFlow可用于网络规划、负载均衡、安全监控等
💻 PY
字号:
################################################################################                                                                             ##   Copyright 2005 University of Cambridge Computer Laboratory.               ##                                                                             ##   This file is part of Nprobe.                                              ##                                                                             ##   Nprobe 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.                                       ##                                                                             ##   Nprobe 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 Nprobe; if not, write to the Free Software                     ##   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA ##                                                                             ################################################################################## Stuff for dealing with `ulonglongs' # (C: unsigned long long, Python class ulonglong)###############################################################################import stringfrom nprobe import ulong_intimport time################################################################################ Convert a ulonglong (C: unsigned long long, Python class ulonglong) to a #  Python Long integer #def ull2l_old(ull):    j = ulong_int(ull.low)    k = ulong_int(ull.high)    l = long(j.half)*2 + j.odd + ((long(k.half)*2 + k.odd) << 32)    return l################################################################################ Convert a ulonglong (C: unsigned long long, Python class ulonglong) to a #  Python Long integer #def ull2l(ull):    j = ul2l(ull.low)    k = ul2l(ull.high)    l = j + (k << 32)    return l################################################################################ Convert a ulonglong (C: unsigned long long, Python class ulonglong) to a #  Python Long integer #def ull2l_cmp(ull):    l = ull2l_old(ull)    l1 = ull2l_new(ull)    if l != l1:        print 'unequal ull2l() old=%d new=%d orig = %x' % (l, l1, ull)        raw_input('...')    return l################################################################################ Convert a 32 bit unsigned int to a Python Long integer #def ul2l_old(ul):    j = ulong_int(ul)    l = long(j.half)*2 + j.odd    return l################################################################################ Convert a 32 bit unsigned int to a Python Long integer #def ul2l(ul):        top = ul & 0x80000000    l = long(ul & 0x7FFFFFFF)    if top:        l += long(0x40000000)*2    return l################################################################################ Convert a 32 bit unsigned int to a Python Long integer #def ul2l_cmp(ul):    l = ul2l_old(ul)    l1 = ul2l(ul)    if l != l1:        print 'unequal ul2l() old=%d new=%d orig = %x' % (l, l1, ul)        raw_input('...')    return l################################################################################ Return a Python Long integer as a string justified in a field width#def Longstring(l, width = 0, just = 'r'):        if just == 'r':	return string.rjust(repr(l)[:-1], width)    elif just == 'l':	return string.ljust(repr(l)[:-1], width)    else:	return string.center(repr(l)[:-1], width)################################################################################ Return a Python Long integer i us as a h:m:s string # justified in a field width#def tsLongstring(l, width = 0, just = 'r'):    sec = l/1000000    usec = l % 1000000    ts = "%02d:%02d:%02d.%06lu" % (sec/3600, (sec%3600)/60, sec % 60, usec)        if just == 'r':	return string.rjust(ts, width)    elif just == 'l':	return string.ljust(ts, width)    else:	return string.center(ts, width)################################################################################ Return a Python Long integer i us as a date string # justified in a field width#def tsDatestring(l, width = 0, just = 'r'):    sec = l/1000000    usec = l % 1000000    ttup = time.gmtime(sec)    ts = "%02d:%02d:%02d.%06lu %d/%d/%d" % (ttup[3], ttup[4], ttup[5], usec, 					    ttup[2], ttup[1], ttup[0])    if just == 'r':	return string.rjust(ts, width)    elif just == 'l':	return string.ljust(ts, width)    else:	return string.center(ts, width)################################################################################ Return a ulonglong as a string justified in a field width#def ullstring(ull, width = 0, just = 'r'):    return Longstring(ull2l(ull), width, just)################################################################################ Return an unsigned int as a string justified in a field width#def ulstring(ul, width = 0, just = 'r'):    return Longstring(ul2l(ul), width, just)################################################################################ Convert a Class tval (analogue of struct timeval) into a Long in us#def tv2l(tv):    us = long(tv.tv_usec)    us += 1000000*long(tv.tv_sec)    return us

⌨️ 快捷键说明

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