Powershell - Pulling a substring from a uri -
i'm trying pull this
hrbkr.com smqzc.com znynf.com from list of uri's in $temp -
anything.anything.hrbkr.com anything.anything.smqzc.com anything.anything.znynf.com this regex seems match @ least on regex101 -
(<domainname>(?<ip>^[a-fa-f\d.:]+$)|(?<nodots>^[^.]+$)|(?<fqdomain>(?:(?:[^.]+.)?(?<tld>(?:[^.\s]{2})(?:(?:.[^\.\s][^\.\s])|(?:[^.\s]+)))))$)*?' but doesn't seem give me results, able match whole line, want 'substring' not true if line matches.
$temp = ‘c:\users\money\downloads\phishinglist.txt’ $regex = '(<domainname>(?<ip>^[a-fa-f\d.:]+$)|(?<nodots>^[^.]+$)|(?   <fqdomain>(?:(?:[^.]+.)?(?<tld>(?:[^.\s]{2})(?:(?:.[^\.\s][^\.\s])|(?:[^.\s]+)))))$)*?' $temp | select-string -pattern $regex -allmatches | % { $_.matches } | % { $_.value } | sort-object -unique > $list $list thanks!
if file contains fqdns , nothing else, can solve simple -split , -join operation:
# split fqdn individual labels $labels = 'anything.anything.smqzc.com' -split '\.'  # grab second-to-last , last label, join dot $domain = $labels[-2,-1] -join '.' or in single statement:
$domain = ("anything.anything.smqzc.com" -split '\.')[-2,-1] -join '.' so procedure ends looking like:
$list = get-content $home\downloads\phishinglist.txt |foreach-object {     ($_ -split '\.')[-2,-1] -join '.' } 
Comments
Post a Comment