package com.netifera.platform.net.internal.services.sniffing.basic;
import java.util.ArrayList;
import java.util.List;
import com.netifera.platform.net.services.sniffing.ICredentialSniffer;
import com.netifera.platform.net.services.sniffing.ICredentialSnifferProvider;
import com.netifera.platform.net.services.sniffing.RegexCredentialSniffer;
import com.netifera.platform.util.patternmatching.Regex;
public class BasicCredentialSnifferProvider implements ICredentialSnifferProvider {
public List<ICredentialSniffer> getSniffers() {
List<ICredentialSniffer> answer = new ArrayList<ICredentialSniffer>();
Regex regex = Regex.caseInsensitive(".*USER[ ]+([^\r\n]*)[\r\n]+PASS[ ]+([^\r\n]*)[\r\n].*");
regex.add(1, "username");
regex.add(2, "password");
answer.add(new RegexCredentialSniffer(new String[]{"FTP","POP3"},regex,null));
regex = Regex.caseInsensitive("^[^ ]+ LOGIN ([^ \r\n]+) ([^\r\n]+)[\r\n].*");
regex.add(1, "username");
regex.add(2, "password");
answer.add(new RegexCredentialSniffer(new String[]{"IMAP"},regex,null));
answer.add(new HTTPCredentialSniffer());
return answer;
}
}