mirror of
https://github.com/ProxymanApp/Proxyman.git
synced 2026-04-28 01:25:52 +03:00
[GH-ISSUE #978] Trouble SSL proxying iOS device through ProxyMan #973
Labels
No labels
Discussion
Feature request
In Progress...
Plugins
Waiting response
Windows
Windows
bug
duplicate
enhancement
feature
good first issue
iOS
macOS 10.11
question
wontfix
✅ Done
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/Proxyman#973
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mlaster on GitHub (Sep 7, 2021).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/978
Originally assigned to: @NghiaTranUIT on GitHub.
I'm evaluating ProxyMan as a replacement for Charles Proxy. Charles works, but I've always hated the interface. If I can get ProxyMan to do the same thing things I do in Charles, I'm sold!
Proxyman version? (Ex. Proxyman 1.4.3)
Version 2.32.1 (23210)
macOS Version? (Ex. mac 10.14)
12.0
Steps to reproduce
Setup manual proxy to 192.168.1.10:8888 (I changed the default port to match what Charles Proxy uses)
Install and accept cert
Expected behavior
I expect SSL traffic to https://www.google.com to decode
Instead I get:
SSL Handshake Failed
handshakeFailed(NIOSSL.BoringSSLError.sslError([Error: 268435613 error:1000009d:SSL routines:OPENSSL_internal:INAPPROPRIATE_FALLBACK]))
Screenshots (optional)
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
Hey, look like you haven't trusted the Certificate on your iPhone devices. You can do it in the Setting app -> General > About > > Certificate Trust Settings > Switch ON
You can access the iOS guideline at Certificate Menu -> Install Certificate for iOS -> physical device 👍
Document: https://docs.proxyman.io/debug-devices/ios-device
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
@mlaster Please let me know if it works for you. Basically, Proxyman is capable of capturing traffic from your iOS physical devices and Simulator too 😄
@mlaster commented on GitHub (Sep 7, 2021):
Oops....I just realized my mistake. I didn't do step 2. I feel dumb now :). It works. Feel free to close this ticket.
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
Awesome. You're sold 😉
@mlaster commented on GitHub (Sep 7, 2021):
Definitely. Just bought a license.
I’m having trouble with rewriting the body. I’m trying the example:
function onResponse(context, url, request, response) {
// console.log(response);
return request;
}
And I get errors:
19:43:12.341: [onResponse] with Request ID=133
❌Error: TypeError: undefined is not an object (evaluating 'jsonBody["name"] = "Proxyman"')
⚠️Warning: Skip executing the onResponse() because it's missing!
My response that I’m rewriting is JSON:
HTTP/1.1 200 OK
Server: AppleHttpServer/aa2945d2cf9ee3607ca5986660a23b09c6d0718e
Date: Tue, 07 Sep 2021 02:40:35 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 1043
Connection: keep-alive
X-Apple-Jingle-Correlation-Key: 4L3AHNJQHJAPLEWGT3DHIQY5ZY
apple-seq: 0
apple-tk: false
Apple-Originating-System: UnknownOriginatingSystem
X-Responding-Instance: acsnservice:2:prod-p00-acsnservice--partial-7b57c88c5b-n5ftx:80:2116B766:73a0e6e20236
content-encoding: gzip
Strict-Transport-Security: max-age=31536000; includeSubDomains;
via: xrail:mr47p00ic-qujn04081701.me.com:8301:21D269:grp23,631194250daa17e24277dea86cf30319:efc93d238909740ff9547602818982e2:ussjc1
X-Apple-Request-UUID: e2f603b5-303a-40f5-92c6-9ec674431dce
access-control-expose-headers: X-Apple-Request-UUID,Via
X-Apple-Edge-Response-Time: 118
{"overrideACSNHostName":false,"preventDuplicateNotifyWhenFoundNotification":true,"keyDistributionInitialDurationInMin":1440,"maximumPublishesPerDayBattery":48,"maximumPayloadsToPublish":200,"nearbyTimeIntervalInSec":60,"firmwareUpdateCheckFrequencyInMin":150,"minimumLocationsToTriangulate":3,"beaconingEnabled":true,"publishGracePeriod":900,"activePublishPolicies":["onPowerOnWiFi","onPowerOnCell","onBatteryOnWiFi","onBatteryOnCell"],"enableBackgroundScanning":true,"publishInterval":900,"serialNumber":15,"keyDistributionDurationInMin":2880,"pairingTimeoutInSec":60,"keyDistributionSendFrequencyInMin":1440,"fetchOverlapInMin":60,"packageMaximumPublishingIntervalInSec":900,"maximumEphemeralLocationsToRetain":5,"maximumPublishesPerDayCharging":48,"finderEnabled":true,"selfBeaconingKeyRollIntervalInMin":15,"keyDistributionSendGracePeriodInMin":720,"maximumKeysPerFetchRequest":300,"perBeaconSharingLimit":16,"maximumDaysToFetch":7,"minimumLocationFetchInterval":30,"maximumLeashedBeacons":4,"macBeaconConfigs":{"normalBattery":{"fastRollAdvertisementIntervalInSecs":900,"postInitialDayAdvertisementTimes":[11,18],"initialNoBeaconPeriodInSecs":0,"slowRollNoAdvertisementDurationInSecs":10800,"stateChangeToleranceInSecs":900,"fastRollDurationInSecs":7200,"slowRollNoAdvertisementDurationDecayFactor":1.5,"slowRollDurationInSecs":3600}},"ephemeralLocationStoreEnabled":true,"maximumPayloadsPerRollInterval":3,"beaconCacheExpiryAgeInSec":604800,"statusCode":"200","firmwareUpdateBlackoutPeriodInMin":120,"description":"success","finderState":true,"maximumFetchTerminationTimeGapInMin":60,"beaconMaximumCacheRecords":50000,"firmwareUpdateCheckGracePeriodInMin":30,"fwuQuiescentTimeIntervalInHours":24,"acceptVersion":2,"lostModePublishInterval":172800,"beaconingKeysBatchDurationInMin":60,"inBTRangeDistanceInMeters":20,"acsnHostName":"gateway.icloud.com/acsnservice","maximumTrackedLocations":10,"packageMinimumPublishingIntervalInSec":900,"maxPairEligibleDevices":16,"useReductiveFiltering":true,"useNewFetchProtocol":true,"maximumLocationsToFetch":20,"allowsDrafting":true,"featureSupportMatrix":{"separationMonitoring":{"productTypeOverride":{},"minimumSoftwareVersion":{"iPhone":"19A0","MacBookPro":"21A0","iPad":"19A0","iPod":"19A0","MacBookAir":"21A0"},"enabled":true,"minimumProductVersion":{"iPhone":8,"MacBookPro":17,"iPad":5,"iPod":9,"MacBookAir":10}}}}
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
Hey, your script is incorrect in terms of syntax:
Look like you are trying to rewrite the Response Body, but you are incorrectly using the
requestobject.It should be:
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
Look like you're trying a snippet code from https://docs.proxyman.io/scripting/snippet-code#json-body
Please make sure you call it properly for
onRequest()oronResponse()@mlaster commented on GitHub (Sep 7, 2021):
Thanks. I copied the wrong sample. I should stop hacking around with it tonight and wait until tomorrow until I have more brain. Sorry for the dumb questions :)
@NghiaTranUIT commented on GitHub (Sep 7, 2021):
You're welcome. Let me know if you have any problems 👍