A method for discovering a second terminal with a service identity unknown to a first terminal, wherein the method comprises: acquiring , by the first terminal, a discovery resource wherein the discovery resource is used by the first terminal to learn how to monitor a second terminal; sending, by the first terminal, a first message, so that at least one second terminal receiving the first message sends a second message according to the first message after receiving the first message wherein the first message comprises first description information about second terminals that the first terminal wishes to discover so that second terminals receiving the first messages and being compliant with the first description information send second messages; while other second terminals receiving the first messages and not being compliant with the first description information do not send second messages, monitoring , by the first terminal according to the discovery resource, a second message sent by the at least one second terminal, wherein the second message comprises a service identity of the at least one second terminal; unknown to the first terminal; acquiring , by the first terminal, the service identity of the at least one second terminal according to the second message; and acquiring , by the first terminal, second description information of the at least one second terminal from a server according to the service identity of the at least one second terminal wherein the first terminal accurately identifies the at least one second terminal based on the second description information for establishing a communication with the at least one second terminal. acquiring , by the first terminal, a discovery resource wherein the discovery resource is used by the first terminal to learn how to monitor a second terminal; sending, by the first terminal, a first message, so that at least one second terminal receiving the first message sends a second message according to the first message after receiving the first message wherein the first message comprises first description information about second terminals that the first terminal wishes to discover so that second terminals receiving the first messages and being compliant with the first description information send second messages; while other second terminals receiving the first messages and not being compliant with the first description information do not send second messages, monitoring , by the first terminal according to the discovery resource, a second message sent by the at least one second terminal, wherein the second message comprises a service identity of the at least one second terminal; unknown to the first terminal; acquiring , by the first terminal, the service identity of the at least one second terminal according to the second message; and acquiring , by the first terminal, second description information of the at least one second terminal from a server according to the service identity of the at least one second terminal wherein the first terminal accurately identifies the at least one second terminal based on the second description information for establishing a communication with the at least one second terminal. <EOS>