사용할 수있는 명령 줄 프로그램이 있습니까?
사용할 수있는 명령 줄 프로그램이 있습니까?
답변:
나는 질문을 머리에 비틀어 야한다고 생각합니다. Active Directory는 Kerberos와 NTLM을 모두 지원합니다. Windows는 먼저 Kerberos를 시도하고 모든 요구 사항이 충족되지 않으면 NTLM으로 대체됩니다.
\ server1 \ share와 같은 이름으로 파일 공유에 액세스하면 Kerberos가 호출되고 적절한 퍼미션이 주어지면 성공해야합니다. 그러나 IP 주소를 사용하여 동일한 파일 공유에 액세스하면 Kerberos가 먼저 호출되고 실패합니다 (IP 주소에 대한 SPN이 없으므로). 그런 다음 NTLM으로 장애 조치됩니다.
따라서 프로그램이 AD에 대해 인증을 시도하는 방법을 결정하고 사용중인 프로토콜을 알려 주어야합니다.
이 질문을하게 된 계기가 무엇인지 궁금합니다.
Netstat는 모든 수신 TCP 및 UDP 연결을 보여줍니다. -na 옵션을 사용하면 모든 연결에 사용되며 이름이나 포트를 확인할 수 없습니다. 'b'옵션은 해당 프로그램을 표시하는 것입니다. DNS가 실행 중이면 다른 연결이 많이 표시 될 수 있으므로 TCP를 지정해야 할 수도 있습니다.
Kerberos는 Active Directory 도메인 컨트롤러를 배포하는 경우 가장 확실하게 실행됩니다.
netstat -nab
The requested operation requires elevation.
public string FindAllUsers()
{
string strReturn="";
try
{
DirectoryEntry directoryEntry = new DirectoryEntry("WinNT://" + Environment.UserDomainName);
string userNames = "";
string authenticationType = "";
foreach (DirectoryEntry child in directoryEntry.Children)
{
if (child.SchemaClassName == "User")
{
userNames += child.Name + Environment.NewLine; //Iterates and binds all user using a newline
authenticationType += child.Username + Environment.NewLine;
}
}
strReturn = userNames + "\n\n" + authenticationType;
//Console.WriteLine("************************Users************************");
//Console.WriteLine(userNames);
//Console.WriteLine("*****************Authentication Type*****************");
//Console.WriteLine(authenticationType);
}
catch (Exception)
{
Console.WriteLine("Network error occured.");
strReturn = "";
}
return strReturn;
}
이 도구를 사용해보십시오. http://blog.michelbarneveld.nl/media/p/33.aspx
웹 사이트에서 인증을 테스트하는 도구입니다. 사용되는 인증 유형 (Kerberos, NTLM, basic, none)이 표시됩니다. 또한 SPN 사용, HTTP 헤더, 해독 된 NTLM 및 Kerberos 권한 부여 헤더와 같은 다른 정보도 표시합니다. 또한 Kerberos 티켓을 표시하고 삭제할 수도 있습니다.
관련된 클라이언트 / 서버에 따라 다릅니다. 예를 들어, kerberos 또는 NTLM 사용 여부를 알려주는 웹 페이지가 있습니다 (죄송합니다, 지금 검색 할 시간이 없습니다). 그러나 SQL 서버가 사용한 인증 방법을 알 수있는 방법이 없습니다. 이전에 중단 된 것처럼 보안 로그에 표시 될 수 있습니다.
왜 찾으려고합니까?