krz/domain-dig
an ios app for DNS & SSL analysis
clone: git clone https://gitbay.org/krz/domain-dig.git
v4.8.1: DomainDig/ReverseDNSService.swift · raw
1import Foundation
2
3struct ReverseDNSService {
4 static func lookup(ip: String, resolverURLString: String) async -> ServiceResult<String> {
5 let octets = ip.split(separator: ".")
6 guard octets.count == 4 else {
7 return .error("Invalid IPv4 address")
8 }
9
10 let reversed = octets.reversed().joined(separator: ".")
11 let ptrDomain = "\(reversed).in-addr.arpa"
12
13 do {
14 let records = try await DNSLookupService.lookup(
15 domain: ptrDomain,
16 recordType: .PTR,
17 resolverURLString: resolverURLString
18 )
19 if let record = records.first?.value {
20 return .success(record)
21 }
22 return .empty("No PTR record found")
23 } catch {
24 return .error(error.localizedDescription)
25 }
26 }
27}