| 1 | class LRUCache { | 
快速排序三数取中
给一个有序的数组,那代码的时间复杂度就是O(n^2)拉。
最好就是取一个要排序数组中所有值的中值,(很难)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38class Solution {
public:
    int partition(vector<int>& nums, int left, int right) {
       
       int mid = (left + right) / 2;
        if (nums[left] > nums[right]) 
            swap(nums[left], nums[right]);
        if (nums[mid] > nums[right])
            swap(nums[mid], nums[right]);
        if (nums[mid] > nums[left])
            swap(nums[mid], nums[left]);                //把中值换到最左边
        
        int val = nums[left];   
        int i = left, j = right;                        //填坑法
        while (i < j) {
           while (i < j && nums[j] >= val) j--;
           nums[i] = nums[j]; 
           while (i < j && nums[i] <= val) i++;
            nums[j] = nums[i];
        }
        nums[i] = val; 
        return i;
    }
 
    void sort(vector<int>& nums, int left, int right) {
        if (left >= right)
            return;
        int mid = partition(nums, left, right);
        sort(nums, left, mid-1);
        sort(nums, mid + 1, right);
    }
    vector<int> sortArray(vector<int>& nums) {
        
        sort(nums, 0, nums.size()-1);
        return nums;
    }
};
没有优化的快排贴一下:
| 1 | int pattern(int l,int r) | 
冒泡优化
优化1 没有进行过交换结束
优化2 通过记录最后交换的位置,及终点的位置
优化3 波浪排序+优化1+优化21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41#if 0
#include<bits/stdc++.h>                       
using namespace std;                      
int a[10000];
int n;
void sort(int a[], int n) {
	bool flag = 0;
	int k = n-1;
	int last;
	for (int i = 0; i < n-1; i++) {
		flag = 0;
		for (int j = 0; j < k; j++) {
			sum++;
			if (a[j] > a[j+1]) {
				flag = 1;
				last = j;
				swap(a[j], a[j+1]);
			}
		}
		if (flag == 0) {
			break;
		}
		k = last;
	}
}
int main()
{
	while(1) {
		sum = 0;
		cin>>n;
		for (int i = 0; i < n; i++) {
			a[i] = rand() % n;
		}		
		sort(a, n);
		for(int i = 0; i < n; i++)
			 cout<<a[i]<<" "; 
	
	}
} 
#endif
| 1 | #if 0 //波浪排序 就上两种优化 | 
链表|排序
一:归并实现
1.递归写法
2.非递归写法,数组模拟递归(STL里源码思路)
二:插入实现
归并递归写法:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35class Solution {
public:
    ListNode* merge(ListNode* left, ListNode* right) {
        ListNode* result = new ListNode(-1);
        ListNode* r = result;
        while (left != NULL && right != NULL) {
            if (left->val <= right->val) {
                r->next = left;
                r = r->next;
                left = left->next;
            } else {
                r->next = right;
                r = r->next;
                right = right->next;
            }
        }
        if (left != NULL) r->next = left;
        if (right != NULL) r->next = right;
        return result->next;
    }
    ListNode* sortList(ListNode* head) {
        if (head == NULL || head ->next == NULL) return head;
        ListNode* pre = NULL;
        ListNode* fast = head, *slow = head;
        while (fast != NULL && fast->next != NULL) {
            pre = slow;
            fast = fast->next->next;
            slow = slow->next;
        }
        pre->next = NULL;
        ListNode* left = sortList(head);
        ListNode* right = sortList(slow);
        return merge(left, right);
    }
};
归并非递归写法:
第二种着实很难理解,模拟了很久。敬畏敬畏。大道至简,就是这样哇。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51class Solution {
public:
    ListNode* merge(ListNode* l1, ListNode* l2) {
        ListNode* result = new ListNode(-1);
        ListNode* r = result;
        while (l1 && l2) {
            if (l1->val <= l2->val) {
                r->next = l1;
                r = r->next;
                l1 = l1->next;
            } else {
                r->next = l2;
                r = r->next;
                l2 = l2->next;
            }
        }
        if (l1) {
            r->next = l1;
        }
        if (l2) {
            r->next = l2;
        }
        return result->next;
    }
    ListNode* table[64] = {NULL};
    int fill = 0;
    int i = 0;
    ListNode* carry;
    ListNode* sortList(ListNode* head) {
        if  (head == NULL || head->next == NULL) return head;
        while (head != NULL) {
            ListNode* next = head->next;
            head->next = carry;
            carry = head;
            i = 0;
            while (i < fill && table[i]) {
                table[i] = merge(carry, table[i]);
                carry = NULL;
                swap(carry, table[i++]);
            }
            swap(carry, table[i]);
            if(i == fill) fill++;
            head = next;
        }   
         ListNode* result;
        for (int i = 1; i < fill; i++) {
            table[i] = merge(table[i], table[i-1]);
        }
        return table[fill-1];
    }
};
插入排序:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20class Solution {
public:
    ListNode* insertionSortList(ListNode* head) {
        ListNode* result = new ListNode(INT_MIN);
        ListNode* r = result;
        ListNode* next;
        while (head != NULL) {
            next = head->next;
            ListNode* r = result;
            while (r != NULL && r->next != NULL && r->next->val < head->val) {
                r = r->next;
            }
            head->next = r->next;
            r->next = head;
            
            head = next;
        }
        return result->next;
    }
};
进程
一:
线程和进程各自有什么区别和优劣呢?
- 进程是资源分配的最小单位,线程是程序执行的最小单位。
- 进程有自己的独立地址空间,每启动一个进程,系统就会为它分配地址空间,建立数据表来维护代码段、堆栈段和数据段,这种操作非常昂贵。而线程是共享进程中的数据的,使用相同的地 址空间,因此CPU切换一个线程的花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。
- 线程之间的通信更方便,同一进程下的线程共享全局变量、静态变量等数据,而进程之间的通信需要以通信的方式(IPC)进行。不过如何处理好同步与互斥是编写多线程程序的难点。
- 但是多进程程序更健壮,多线程程序只要有一个线程死掉,整个进程也死掉了,而一个进程死掉并不会对另外一个进程造成影响,因为进程有自己独立的地址空间。
全排列
| 1 | //全排列 | 
动态规划
| 1 | 1.KMP | 
| 1 | 2.背包问题 | 
| 1 | 3.最大上升 子序列 | 
| 1 | 最大子数组和 | 
排序算法
| 1 | //排序算法有 冒泡 / 快排/ 选择/堆排序/ 归并 / 桶排序 / | 
| 1 | //2.选择排序 | 
| 1 | //3. 归并排序 | 
| 1 | //4.堆排序 | 
| 1 | //基数排序 | 
| 1 | //插入排序 | 
| 1 | 
 | 
Http
1.信息代码:1xx,
2.成功代码:2xx,
3.重定向:3xx,
4.客户端错误:4xx,
5.服务器错误:5xx
=============================================================================
HTTP: Status 1xx  (临时响应)
表示临时响应并需要请求者继续执行操作的状态代码。
详细代码及说明:
HTTP: Status 100 (继续)
->请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
HTTP: Status 101 (切换协议)
->请求者已要求服务器切换协议,服务器已确认并准备切换。
HTTP Status 2xx  (成功)
表示成功处理了请求的状态代码;
详细代码及说明:
HTTP Status 200 (成功)
-> 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
HTTP Status 201 (已创建)
-> 请求成功并且服务器创建了新的资源。
HTTP Status 202 (已接受)
-> 服务器已接受请求,但尚未处理。
HTTP Status 203 (非授权信息)
-> 服务器已成功处理了请求,但返回的信息可能来自另一来源。
HTTP Status 204 (无内容)
-> 服务器成功处理了请求,但没有返回任何内容。
HTTP Status 205 (重置内容)
-> 服务器成功处理了请求,但没有返回任何内容。
HTTP Status 206 (部分内容)
-> 服务器成功处理了部分 GET 请求。
HTTP Status 3xx (重定向)
常见的代码
300   (多种选择)  针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302   (临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303   (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304   (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305   (使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307   (临时重定向)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
HTTP Status 4xx (请求错误)
->这些状态代码表示请求可能出错,妨碍了服务器的处理。
详细代码说明:
HTTP Status 400 (错误请求)
->服务器不理解请求的语法。
HTTP Status 401 (未授权)
->请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
HTTP Status 403 (禁止)
-> 服务器拒绝请求。
HTTP Status 404 (未找到)
->服务器找不到请求的网页。
HTTP Status 405 (方法禁用)
->禁用请求中指定的方法。
HTTP Status 406 (不接受)
->无法使用请求的内容特性响应请求的网页。
HTTP Status 407 (需要代理授权)
->此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
HTTP Status 408 (请求超时)
->服务器等候请求时发生超时。
HTTP Status 409 (冲突)
->服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
HTTP Status 410 (已删除)
-> 如果请求的资源已永久删除,服务器就会返回此响应。
HTTP Status 411 (需要有效长度)
->服务器不接受不含有效内容长度标头字段的请求。
HTTP Status 412 (未满足前提条件)
->服务器未满足请求者在请求中设置的其中一个前提条件。
HTTP Status 413 (请求实体过大)
->服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
HTTP Status 414 (请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
HTTP Status 415 (不支持的媒体类型)
->请求的格式不受请求页面的支持。
HTTP Status 416 (请求范围不符合要求)
->如果页面无法提供请求的范围,则服务器会返回此状态代码。
HTTP Status 417 (未满足期望值)
->服务器未满足”期望”请求标头字段的要求。
HTTP Status 5xx (服务器错误)
->这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。
代码详细及说明:
HTTP Status 500 (服务器内部错误)
->服务器遇到错误,无法完成请求。
HTTP Status 501 (尚未实施)
->服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
HTTP Status 502 (错误网关)
->服务器作为网关或代理,从上游服务器收到无效响应。
HTTP Status 503 (服务不可用)
-> 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
HTTP Status 504 (网关超时)
->服务器作为网关或代理,但是没有及时从上游服务器收到请求。
HTTP Status 505 (HTTP 版本不受支持)
-> 服务器不支持请求中所用的 HTTP 协议版本。
网络端口号
21/tcp FTP 文件传输协议
22/tcp SSH 安全登录、文件传送(SCP)和端口重定向
23/tcp Telnet 不安全的文本传送
25/tcp SMTP Simple Mail Transfer Protocol (E-mail)
69/udp TFTP Trivial File Transfer Protocol
79/tcp finger Finger
80/tcp HTTP 超文本传送协议 (WWW)
88/tcp Kerberos Authenticating agent
110/tcp POP3 Post Office Protocol (E-mail)
113/tcp ident old identification server system
119/tcp NNTP used for usenet newsgroups
220/tcp IMAP3
443/tcp HTTPS used for securely transferring web pages
端口:0
服务:Reserved
说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果。一种典型的扫描,使用IP地址为0.0.0.0,设置ACK位并在以太网层广播。
端口:1
服务:tcpmux
说明:这显示有人在寻找SGI Irix机器。Irix是实现tcpmux的主要提供者,默认情况下tcpmux在这种系统中被打开。Irix机器在发布是含有几个默认的无密码的帐户,如:IP、GUEST UUCP、NUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。许多管理员在安装后忘记删除这些帐户。因此HACKER在INTERNET上搜索tcpmux并利用这些帐户。
端口:7
服务:Echo
说明:能看到许多人搜索Fraggle放大器时,发送到X.X.X.0和X.X.X.255的信息。
端口:19
服务:Character Generator
说明:这是一种仅仅发送字符的服务。UDP版本将会在收到UDP包后回应含有垃圾字符的包。TCP连接时会发送含有垃圾字符的数据流直到连接关闭。HACKER利用IP欺骗可以发动DoS攻击。伪造两个chargen服务器之间的UDP包。同样Fraggle DoS攻击向目标地址的这个端口广播一个带有伪造受害者IP的数据包,受害者为了回应这些数据而过载。
端口:21
服务:FTP
说明:FTP服务器所开放的端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的方法。这些服务器带有可读写的目录。木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口。
端口:22
服务:Ssh
说明:PcAnywhere建立的TCP和这一端口的连接可能是为了寻找ssh。这一服务有许多弱点,如果配置成特定的模式,许多使用RSAREF库的版本就会有不少的漏洞存在。
端口:23
服务:Telnet
说明:远程登录,入侵者在搜索远程登录UNIX的服务。大多数情况下扫描这一端口是为了找到机器运行的操作系统。还有使用其他技术,入侵者也会找到密码。木马Tiny Telnet Server就开放这个端口。
端口:25
服务:SMTP
说明:SMTP服务器所开放的端口,用于发送邮件。入侵者寻找SMTP服务器是为了传递他们的SPAM。入侵者的帐户被关闭,他们需要连接到高带宽的E-MAIL服务器上,将简单的信息传递到不同的地址。木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口。
端口:31
服务:MSG Authentication
说明:木马Master Paradise、Hackers Paradise开放此端口。
端口:42
服务:WINS Replication
说明:WINS复制
端口:53
服务:Domain Name Server(DNS)
说明:DNS服务器所开放的端口,入侵者可能是试图进行区域传递(TCP),欺骗DNS(UDP)或隐藏其他的通信。因此防火墙常常过滤或记录此端口。
端口:67
服务:Bootstrap Protocol Server
说明:通过DSL和Cable modem的防火墙常会看见大量发送到广播地址255.255.255.255的数据。这些机器在向DHCP服务器请求一个地址。HACKER常进入它们,分配一个地址把自己作为局部路由器而发起大量中间人(man-in-middle)攻击。客户端向68端口广播请求配置,服务器向67端口广播回应请求。这种回应使用广播是因为客户端还不知道可以发送的IP地址。
端口:69
服务:Trival File Transfer
说明:许多服务器与bootp一起提供这项服务,便于从系统下载启动代码。但是它们常常由于错误配置而使入侵者能从系统中窃取任何 文件。它们也可用于系统写入文件。
端口:79
服务:Finger Server
说明:入侵者用于获得用户信息,查询操作系统,探测已知的缓冲区溢出错误,回应从自己机器到其他机器Finger扫描。
端口:80
服务:HTTP
说明:用于网页浏览。木马Executor开放此端口。
端口:99
服务:gram Relay
说明:后门程序ncx99开放此端口。
端口:102
服务:Message transfer agent(MTA)-X.400 over TCP/IP
说明:消息传输代理。
端口:109
服务:Post Office Protocol -Version3
说明:POP3服务器开放此端口,用于接收邮件,客户端访问服务器端的邮件服务。POP3服务有许多公认的弱点。关于用户名和密码交 换缓冲区溢出的弱点至少有20个,这意味着入侵者可以在真正登陆前进入系统。成功登陆后还有其他缓冲区溢出错误。
端口:110
服务:SUN公司的RPC服务所有端口
说明:常见RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等
端口:113
服务:Authentication Service
说明:这是一个许多计算机上运行的协议,用于鉴别TCP连接的用户。使用标准的这种服务可以获得许多计算机的信息。但是它可作为许多服务的记录器,尤其是FTP、POP、IMAP、SMTP和IRC等服务。通常如果有许多客户通过防火墙访问这些服务,将会看到许多这个端口的连接请求。记住,如果阻断这个端口客户端会感觉到在防火墙另一边与E-MAIL服务器的缓慢连接。许多防火墙支持TCP连接的阻断过程中发回RST。这将会停止缓慢的连接。
端口:119
服务:Network News Transfer Protocol
说明:NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器。多数ISP限制,只有他们的客户才能访问他们的新闻组服务器。打开新闻组服务器将允许发/读任何人的帖子,访问被限制的新闻组服务器,匿名发帖或发送SPAM。
端口:135
服务:Location Service
说明:Microsoft在这个端口运行DCE RPC end-point mapper为它的DCOM服务。这与UNIX 111端口的功能很相似。使用DCOM和RPC的服务利用计算机上的end-point mapper注册它们的位置。远端客户连接到计算机时,它们查找end-point mapper找到服务的位置。HACKER扫描计算机的这个端口是为了找到这个计算机上运行Exchange Server吗?什么版本?还有些DOS攻击直接针对这个端口。
端口:137、138、139
服务:NETBIOS Name Service
说明:其中137、138是UDP端口,当通过网上邻居传输文件时用这个端口。而139端口:通过这个端口进入的连接试图获得NetBIOS/SMB服务。这个协议被用于windows文件和打印机共享和SAMBA。还有WINS Regisrtation也用它。
端口:143
服务:Interim Mail Access Protocol v2
说明:和POP3的安全问题一样,许多IMAP服务器存在有缓冲区溢出漏洞。记住:一种LINUX蠕虫(admv0rm)会通过这个端口繁殖,因此许多这个端口的扫描来自不知情的已经被感染的用户。当REDHAT在他们的LINUX发布版本中默认允许IMAP后,这些漏洞变的很流行。这一端口还被用于IMAP2,但并不流行。
端口:161
服务:SNMP
说明:SNMP允许远程管理设备。所有配置和运行信息的储存在数据库中,通过SNMP可获得这些信息。许多管理员的错误配置将被暴露在Internet。Cackers将试图使用默认的密码public、private访问系统。他们可能会试验所有可能的组合。SNMP包可能会被错误的指向用户的网络。
端口:177
服务:X Display Manager Control Protocol
说明:许多入侵者通过它访问X-windows操作台,它同时需要打开6000端口。
端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
端口:443
服务:Https
说明:网页浏览端口,能提供加密和通过安全端口传输的另一种HTTP。
端口:456
服务:[NULL]
说明:木马HACKERS PARADISE开放此端口。
端口:513
服务:Login,remote login
说明:是从使用cable modem或DSL登陆到子网中的UNIX计算机发出的广播。这些人为入侵者进入他们的系统提供了信息。
端口:544
服务:[NULL]
说明:kerberos kshell
端口:548
服务:Macintosh,File Services(AFP/IP)
说明:Macintosh,文件服务。
端口:553
服务:CORBA IIOP (UDP)
说明:使用cable modem、DSL或VLAN将会看到这个端口的广播。CORBA是一种面向对象的RPC系统。入侵者可以利用这些信息进入系统。
端口:555
服务:DSF
说明:木马PhAse1.0、Stealth Spy、IniKiller开放此端口。
端口:568
服务:Membership DPA
说明:成员资格 DPA。
端口:569
服务:Membership MSN
说明:成员资格 MSN。
端口:635
服务:mountd
说明:Linux的mountd Bug。这是扫描的一个流行BUG。大多数对这个端口的扫描是基于UDP的,但是基于TCP的mountd有所增加(mountd同时运行于两个端口)。记住mountd可运行于任何端口(到底是哪个端口,需要在端口111做portmap查询),只是Linux默认端口是635,就像NFS通常运行于2049端口。
端口:636
服务:LDAP
说明:SSL(Secure Sockets layer)
端口:666
服务:Doom Id Software
说明:木马Attack FTP、Satanz Backdoor开放此端口
端口:993
服务:IMAP
说明:SSL(Secure Sockets layer)
端口:1001、1011
服务:[NULL]
说明:木马Silencer、WebEx开放1001端口。木马Doly Trojan开放1011端口。
端口:1024
服务:Reserved
说明:它是动态端口的开始,许多程序并不在乎用哪个端口连接网络,它们请求系统为它们分配下一个闲置端口。基于这一点分配从端口1024开始。这就是说第一个向系统发出请求的会分配到1024端口。你可以重启机器,打开Telnet,再打开一个窗口运行natstat -a 将会看到Telnet被分配1024端口。还有SQL session也用此端口和5000端口。
端口:1025、1033
服务:1025:network blackjack 1033:[NULL]
说明:木马netspy开放这2个端口。
端口:1080
服务:SOCKS
说明:这一协议以通道方式穿过防火墙,允许防火墙后面的人通过一个IP地址访问INTERNET。理论上它应该只允许内部的通信向外到达INTERNET。但是由于错误的配置,它会允许位于防火墙外部的攻击穿过防火墙。WinGate常会发生这种错误,在加入IRC聊天室时常会看到这种情况。
端口:1170
服务:[NULL]
说明:木马Streaming Audio Trojan、Psyber Stream Server、Voice开放此端口。
端口:1234、1243、6711、6776
服务:[NULL]
说明:木马SubSeven2.0、Ultors Trojan开放1234、6776端口。木马SubSeven1.0/1.9开放1243、6711、6776端口。
端口:1245
服务:[NULL]
说明:木马Vodoo开放此端口。
端口:1433
服务:SQL
说明:Microsoft的SQL服务开放的端口。
端口:1492
服务:stone-design-1
说明:木马FTP99CMP开放此端口。
端口:1500
服务:RPC client fixed port session queries
说明:RPC客户固定端口会话查询
端口:1503
服务:NetMeeting T.120
说明:NetMeeting T.120
端口:1524
服务:ingress
说明:许多攻击脚本将安装一个后门SHELL于这个端口,尤其是针对SUN系统中Sendmail和RPC服务漏洞的脚本。如果刚安装了防火墙就看到在这个端口上的连接企图,很可能是上述原因。可以试试Telnet到用户的计算机上的这个端口,看看它是否会给你一个SHELL。连接到600/pcserver也存在这个问题。
端口:1600
服务:issd
说明:木马Shivka-Burka开放此端口。
端口:1720
服务:NetMeeting
说明:NetMeeting H.233 call Setup。
端口:1731
服务:NetMeeting Audio Call Control
说明:NetMeeting音频调用控制。
端口:1807
服务:[NULL]
说明:木马SpySender开放此端口。
端口:1981
服务:[NULL]
说明:木马ShockRave开放此端口。
端口:1999
服务:cisco identification port
说明:木马BackDoor开放此端口。
端口:2000
服务:[NULL]
说明:木马GirlFriend 1.3、Millenium 1.0开放此端口。
端口:2001
服务:[NULL]
说明:木马Millenium 1.0、Trojan Cow开放此端口。
端口:2023
服务:xinuexpansion 4
说明:木马Pass Ripper开放此端口。
端口:2049
服务:NFS
说明:NFS程序常运行于这个端口。通常需要访问Portmapper查询这个服务运行于哪个端口。
端口:2115
服务:[NULL]
说明:木马Bugs开放此端口。
端口:2140、3150
服务:[NULL]
说明:木马Deep Throat 1.0/3.0开放此端口。
端口:2500
服务:RPC client using a fixed port session replication
说明:应用固定端口会话复制的RPC客户