For outgoing connections, the only jailbreak application that exists is Firewall iP. It behaves similarly to the Mac OS X application Little Snitch.
For incoming connections, you will have to use a regular firewall system such as ipfw
.
Disclaimer: To anyone actually looking to use ipfw
on iOS, you're going to have to patch the kernel to include support for pf
. Documented, nobody has ever done it, but it's not technically impossible. The jailbreak itself patches the kernel upon boot, so this would require the same exploits used during that process. If you have happened to patch pf
into the kernel, then proceed with my original answer below.
Add the http://theworm.altervista.org/cydia/
repository in Cydia > Manage > Sources > Edit > Add
. Then install the MTerminal
app from the BigBoss repository and the network-cmds
package from The Worm repository. Then you can go into the terminal app you just got and run ipfw
. This will let you write to your firewall tables. If you need a tutorial on how to use ipfw
, there's a good one here.
Don't have the solution but have interesting observation!!
My WiFi scan shows the SSID that I want to connect to
and in Terminal the Airport -s shows same SSID
I was monitoring the Console during the event.
The Associate event still shows the Correct SSID
<airportd[535]> associate: INFO: airportd associate: network=<CWNetwork: 0x7fec12802ce0> [ssid=Eurona900850808-81, bssid=02:0c:42:39:95:94, security=Open, rssi=-80, channel=<CWChannel: 0x7fec12802cf0> [channelNumber=7(2GHz), channelWidth={20MHz}], ibss=0], is8021X=0, remember=1
After few lines of other WiFi activity this comes up:
<kernel> Searching for networks with ssid Eurona900850808-8
WAIT: where did the last digit go, it supposed to be the Eurona900850808-81, but it shows Eurona900850808-8
Here is the rest from the Console:
Fri Sep 13 23:22:55.92 <kernel> Searching for networks with ssid Eurona900850808-8
Fri Sep 13 23:22:57.488 <kernel> No networks found. Please check if the network exists and is in range
Fri Sep 13 23:22:57.488 <airportd[535]> _WiFiMT_LogAssocTimeoutFail: MT** Assoc Timeout
Fri Sep 13 23:22:57.488 <airportd[535]> associate: Apple80211Associate2() failed with error -3905
Clearly the SSID lost the last digit somewhere in the process, and that leads to the Famous Timeout Error at least in my case.
While Apple provides great tools to analyze the WiFi, it is lacking bit more descriptive Error messages, like in my case saying there is no such network available since it clearly knows that in the Console report.
Best Answer
So, finally I got the workaround to solve this issue.
You need to setup a VPN connection for that. Probably you can use any VPN connection, but I used OpenVPN and used Viscosity as a client.
You can install OpenVPN either locally or using remote server using this bash script.
After connecting to the VPN it assumes that it connected to the real internet not a Wi-Fi hotspot. I assume that it's because it cannot access iPhone router IP address. So theoretically blocking iPhone's local network could work as well.