python类getservbyport()的实例源码

helpers.py 文件源码 项目:opensnitch 作者: evilsocket 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def get_service(conn):
    dst_port = conn.dst_port
    proto = conn.proto
    try:
        return ' ({}) '.format(getservbyport(int(dst_port), proto))
    except:
        return ''
test_functional.py 文件源码 项目:sdk-samples 作者: cradlepoint 项目源码 文件源码 阅读 36 收藏 0 点赞 0 评论 0
def test_permit_privileged_ports(self):
        # Test FTPHandler.permit_privileged_ports_active attribute

        # try to bind a socket on a privileged port
        sock = None
        for port in reversed(range(1, 1024)):
            try:
                socket.getservbyport(port)
            except socket.error:
                # not registered port; go on
                try:
                    sock = socket.socket(self.client.af, socket.SOCK_STREAM)
                    self.addCleanup(sock.close)
                    sock.settimeout(TIMEOUT)
                    sock.bind((HOST, port))
                    break
                except socket.error as err:
                    if err.errno == errno.EACCES:
                        # root privileges needed
                        if sock is not None:
                            sock.close()
                        sock = None
                        break
                    sock.close()
                    continue
            else:
                # registered port found; skip to the next one
                continue
        else:
            # no usable privileged port was found
            sock = None

        with self.server.lock:
            self.server.handler.permit_privileged_ports = False
        self.assertRaises(ftplib.error_perm, self.client.sendport, HOST,
                          port)
        if sock:
            port = sock.getsockname()[1]
            with self.server.lock:
                self.server.handler.permit_privileged_ports = True
            sock.listen(5)
            sock.settimeout(TIMEOUT)
            self.client.sendport(HOST, port)
            s, addr = sock.accept()
            s.close()


问题


面经


文章

微信
公众号

扫码关注公众号