12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- package ipscan
- import (
- "encoding/json"
- "net"
- "net/http"
- "imuslab.com/zoraxy/mod/utils"
- )
- func HandleScanPort(w http.ResponseWriter, r *http.Request) {
- targetIp, err := utils.GetPara(r, "ip")
- if err != nil {
- utils.SendErrorResponse(w, "target IP address not given")
- return
- }
-
- ip := net.ParseIP(targetIp)
- if ip == nil {
- utils.SendErrorResponse(w, "invalid IP address")
- return
- }
-
- openPorts := ScanPorts(targetIp)
- jsonData, err := json.Marshal(openPorts)
- if err != nil {
- utils.SendErrorResponse(w, "failed to marshal JSON")
- return
- }
- utils.SendJSONResponse(w, string(jsonData))
- }
- func HandleIpScan(w http.ResponseWriter, r *http.Request) {
- cidr, err := utils.PostPara(r, "cidr")
- if err != nil {
-
- start, err := utils.PostPara(r, "start")
- if err != nil {
- utils.SendErrorResponse(w, "missing start ip")
- return
- }
- end, err := utils.PostPara(r, "end")
- if err != nil {
- utils.SendErrorResponse(w, "missing end ip")
- return
- }
- discoveredHosts, err := ScanIpRange(start, end)
- if err != nil {
- utils.SendErrorResponse(w, err.Error())
- return
- }
- js, _ := json.Marshal(discoveredHosts)
- utils.SendJSONResponse(w, string(js))
- } else {
-
- discoveredHosts, err := ScanCIDRRange(cidr)
- if err != nil {
- utils.SendErrorResponse(w, err.Error())
- return
- }
- js, _ := json.Marshal(discoveredHosts)
- utils.SendJSONResponse(w, string(js))
- }
- }
|