Related
I've been looking for this for a while finally I got it, this is what I did:
- Connect your android device to your linux PC
- Enable USB tethering
- On your linux box as root (I'm using Fedora 16)
Code:
iptables -A POSTROUTING -t nat -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
ifconfig usb0 12.12.10.1
With this you will enabled internet sharing between network interfaces and assign an IP to the usb interface.
- Enable mobile data access (3G) on your android
- On your Android using adb or terminal emulator
Code:
ifconfig rmnet0 0.0.0.0
ifconfig usb0 12.12.10.2
route add default gw 12.12.10.1 dev usb0
setprop net.dns1 8.8.8.8
The first line will disable the data traffic through your 3G connection so all the traffic wiil go through the USB
- Enjoy
All apps works because they see a vaild 3G connection!!!
WARNING: If during you are USB connected, the 3g connection is reset, the system will restore its IP and DNS so
the traffic will go through this interface you must reset again the IP to 0.0.0.0 and the dns to 8.8.8.8. Maybe
one of the devs here could help us to prevent this happened. You can always check the IP values of all interfaces by typing "netcfg"
Press Thanks if I help you
everytime,
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
yes i tried with sudo, same output.
using ubuntu12.04 64 bit. all other commands are fine,
gandhar said:
everytime,
bash: /proc/sys/net/ipv4/ip_forward: Permission denied
yes i tried with sudo, same output.
using ubuntu12.04 64 bit. all other commands are fine,
Click to expand...
Click to collapse
In Ubuntu you can re-direct to files you own as the user calling sudo, such as files in your home directory, but not system files
so try this:
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
or you can edit /etc/sysctl.conf and then run sysctl -p
secondary problem
Thank you very much for your post, this is what I was looking for.
I have configured correctly, ubuntu 12.10 and android 2.3.7 (Huawei U8650) but there is a problem.
Only works a few seconds, the first moments. In the browser takes more time, but when I open "play store" internet is disconnected. It seems they check applications and stop working, it's strange. Configuration is successful because it works, but only a few seconds ...
Seems to prove that internet applications not from the 3g and crashes ...
I have broken the wireless on my huawei U8650 and this is the only way I can access the internet
Thanks in advance
PS: I'm Spanish, sorry for my bad English.
wideru said:
Thank you very much for your post, this is what I was looking for.
I have configured correctly, ubuntu 12.10 and android 2.3.7 (Huawei U8650) but there is a problem.
Only works a few seconds, the first moments. In the browser takes more time, but when I open "play store" internet is disconnected. It seems they check applications and stop working, it's strange. Configuration is successful because it works, but only a few seconds ...
Seems to prove that internet applications not from the 3g and crashes ...
I have broken the wireless on my huawei U8650 and this is the only way I can access the internet
Thanks in advance
PS: I'm Spanish, sorry for my bad English.
Click to expand...
Click to collapse
Yes sometimes it happen to me too but normally takes several minutes even hours not seconds, READ the WARNING.
Hope it help.
rply plx
what about windows 7 ?
how can i let my all apps including vpn to be worked with reverse tethering
Qutub Uddin said:
what about windows 7 ?
how can i let my all apps including vpn to be worked with reverse tethering
Click to expand...
Click to collapse
check this http://forum.xda-developers.com/showthread.php?t=1371345
hello guys,
i'm developing an automatic vulnerability scanner/exploiter for android.
i'm adding the cool feature of using the metasploit framework from our android phones, but i'm having a big issue.
i can start the MsfRpcd ( the metasploit daemon ) from a su shell an make it bind to the 127.0.0.1 address.
i can connect to the server using busybox netcat ( no Java though here ).
i can't connect to 127.0.0.1 from the android app! i got ECONNREFUSED.
uff!
after a bit of google i understood that JavaVM have a separate network and it filter out my connection to localhost/127.0.0.1.
how can i connect to a service bind to 127.0.0.1 on my phone from an android app?
this is a jail!
NOTES:
i gave a quick look at iptables -L output, maybe i can make some hack there, but probably i will break the JavaVM network.
thanks in advance!
-- tux_mind
PS:
binding on wifi ip is not an answer.
WORKAROUND:
do not use socket library, use URLConnection:
Code:
u = new URL("http", InetAddress.getLocalHost().getHostAddress(), mPort, "/api/");
huc = u.openConnection();
huc.setDoOutput(true);
huc.setDoInput(true);
huc.setUseCaches(false);
huc.setRequestProperty("Content-Type", "binary/message-pack");
huc.setReadTimeout(0);
huc.getOutputStream().close();
-1 for google
I recently bought a Nexus 7 Flo tablet running the latest Android 4.4. I've since been trying to spoof a MAC address on it, but for some reason the wireless card seems to refuse to use the spoofed mac no matter what I do.
There's a more detailed discussion what I've tried in android.stackexchange.com/questions/57922/wifi-network-not-accessible-with-modified-mac-address (forum won't let me link), but I'll repeat the main points here. I have tried both ip link set wlan0 address XX:XX:XX:XX:XX:XX and busybox ifconfig wlan0 hw ether XX:XX:XX:XX:XX:XX. They both result in the MAC address being changed as far as I can tell from the output of ip link and busybox ifconfig, but when connecting to a network with MAC filtering with the spoofed MAC address being allowed, the device fails to connect. /sys/class/net/wlan0/address also shows the spoofed address. If I use the device's stock MAC and add this to the filter on the AP, then the device connects successfully.
Has anyone experienced anything similar on KitKat devices?
Jonhoo said:
Has anyone experienced anything similar on KitKat devices?
Click to expand...
Click to collapse
Haven't tried anything, yet. Just wondering if you've had any success with this since it's been a while. Thanx=)
pan.droid said:
Haven't tried anything, yet. Just wondering if you've had any success with this since it's been a while. Thanx=)
Click to expand...
Click to collapse
No, unfortunately not. I ended up buying a Samsung Galaxy S II where I can change the MAC successfully for demo purposes. I would still really like to get this working on an up-to-date tablet though..
Bummer. Okay, thanx.
---------- Post added at 03:54 PM ---------- Previous post was at 03:53 PM ----------
This is hopeful, but not a silver bullet... http://forum.xda-developers.com/showthread.php?t=2180809
pan.droid said:
This is hopeful, but not a silver bullet... http://forum.xda-developers.com/showthread.php?t=2180809
Click to expand...
Click to collapse
Interesting...
There seems to be a couple of suggestions here that I will try when I get back to work next week:
- Enable Airplane mode before changing the MAC, then turn airplane mode off again and your WiFi should work
- Deleting /persist/wifi before changing the MAC
- Using this spoofing app
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Jonhoo said:
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Click to expand...
Click to collapse
Hi,
I stumbled upon your post. I'm trying to do the same on my Nexus 5. I found your method works in changing my MAC address but it doesn't change to the string I put in the quotes. What I found is that the address I end up with is the unicode values of the first 6 characters. Is there some special format for this file?
Thanks!
tmagritte said:
I found your method works in changing my MAC address but it doesn't change to the string I put in the quotes. What I found is that the address I end up with is the unicode values of the first 6 characters. Is there some special format for this file?
Click to expand...
Click to collapse
Hmm, that's quite strange. From what I remember, simply using echo worked fine for me.
What you can do instead is this:
Code:
echo -ne '\x11\x22\x33\x44\x55\x66' > .macaddr
Let me know if it works!
Jonhoo said:
Hmm, that's quite strange. From what I remember, simply using echo worked fine for me.
What you can do instead is this:
Code:
echo -ne '\x11\x22\x33\x44\x55\x66' > .macaddr
Let me know if it works!
Click to expand...
Click to collapse
Brilliant!
Thanks so much!
---------- Post added at 01:31 PM ---------- Previous post was at 01:31 PM ----------
I'm guessing for some reason on the Nexus 7 it uses a text file but a binary file on the Nexus 5...
I also found a couple of ways to activate the new MAC address without requiring a reboot. This is useful if you want to be able to change MAC address dynamically using Tasker or similar.
The least obtrusive method I found is adding:
busybox ifconfig wlan0 down
busybox ifconfig wlan0 up
commands after the echo command. This will briefly turn off the WiFi adapter and when it comes back on it will have the new MAC address. I actually found the busybox ifconfig wlan0 up command isn't strictly necessary, at least on the Nexus 5, as it seems to get reactivated automatically after you take it down.
You can confirm the new MAC is in effect by opening a new terminal emulator window and running:
busybox ifconfig wlan0
Interestingly, if you go into Wifi Settings, under advanced settings it still shows the old MAC address but the WiFi adapter is clearly running with the new one as indicated by ifconfig and the ability to connect to a MAC filtered router.
Alternatively, toggling on then off airplane mode will also activate the new MAC and it even shows the new MAC under the advanced WiFi settings.
I like the first option as you'd be able to automate dynamic changes for a particular network without the risk of interrupting voice or cellular data connections when it happens.
tmagritte said:
The least obtrusive method I found is adding:
busybox ifconfig wlan0 down
busybox ifconfig wlan0 up
Click to expand...
Click to collapse
I tried using the approach above to reset the MAC on-the-fly, but it doesn't seem to work on my Nexus 5 4.4.4.
For now I'm sticking with "reboot" at the end of my .sh script, which works well. Any thoughts / advice are appreciated. Thanks!
great but
Jonhoo said:
Good news everyone!
/persist/wifi/.macaddr seems to be the key to changing the MAC, *and* it allows the MAC to be changed *permanently*!
Code:
$ adb shell
$ su
# cd /persist/wifi
# echo -n "112233445566" > .macaddr
# ^D
$ ^D
$ adb reboot
And voilà, MAC changed even after reboot, and connects without a problem!
Click to expand...
Click to collapse
helo i tried u r method and i succeed the problem its gaining random mac address not specified mac address i would like to copy iPhone mac address to my android but it is failed please help me
Hi everyone,
Does anyone know how to remove this method of mac change and go back to the original?
Many thanks!
Hi guys
anyone can change mac of s5830I?
I try apps and busybox command but I cant.
can you help me
TNX
my English is bad
danial199 said:
Hi guys
anyone can change mac of s5830I?
I try apps and busybox command but I cant.
can you help me
Click to expand...
Click to collapse
The MAC address is hard-coded on your network interface controller (NIC) and cannot be changed permanently with simple command line from your terminal nor in software level approach. However we can assign a temporary solution for your MAC, which will be reverted back to it's original state after Reboot/Power off .
Requirements :
- Rooted phone
- Busy box app from play store installed
- Terminal emulator from play store :
Know normally your card's interface should be eth0 ( older devices ) or in case of newer phones ( wlan0)
after granting super user permission in terminal ( Su) , type >> netcfg
Code:
busybox iplink show eth0
you may change it to wlan0 , if you are on this interface
Code:
busybox ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
change the XX to your preference value ( i,e : 00:11:22:33:44:55)
Because of kernel design and absence of monitoring mode support for mac spoofing , this method won't work on protected networks ( ONLY open networks )
and if the lines above don't work for you , try to disable and enable your eth0:
Wifi is ON
su >
Code:
busybox ifconfig eth0 down
busybox ifconfig eth0 hw ether (address)
busybox ifconfig eth0 up
ehsanotaku said:
The MAC address is hard-coded on your network interface controller (NIC) and cannot be changed permanently with simple command line from your terminal nor in software level approach. However we can assign a temporary solution for your MAC, which will be reverted back to it's original state after Reboot/Power off .
Requirements :
- Rooted phone
- Busy box app from play store installed
- Terminal emulator from play store :
Know normally your card's interface should be eth0 ( older devices ) or in case of newer phones ( wlan0)
after granting super user permission in terminal ( Su) , type >> netcfg
Code:
busybox iplink show eth0
you may change it to wlan0 , if you are on this interface
Code:
busybox ifconfig eth0 hw ether XX:XX:XX:XX:XX:XX
change the XX to your preference value ( i,e : 00:11:22:33:44:55)
Because of kernel design and absence of monitoring mode support for mac spoofing , this method won't work on protected networks ( ONLY open networks )
and if the lines above don't work for you , try to disable and enable your eth0:
Wifi is ON
su >
Code:
busybox ifconfig eth0 down
busybox ifconfig eth0 hw ether (address)
busybox ifconfig eth0 up
Click to expand...
Click to collapse
Tnx for answer
after change mac I cant connect to wifi
want a new password but pass is true
danial199 said:
Tnx for answer
after change mac I cant connect to wifi
want a new password but pass is true
Click to expand...
Click to collapse
You are trying to access protected network , which comes with encryption ( WEP/WPA/WPA2 etc etc ) ? What error you are getting from Android OS ? Are you absolutely certain your MAC address is white listed inside the router/modem settings on open network protocol settings of course ?
ehsanotaku said:
You are trying to access protected network , which comes with encryption ( WEP/WPA/WPA2 etc etc ) ? What error you are getting from Android OS ? Are you absolutely certain your MAC address is white listed inside the router/modem settings on open network protocol settings of course ?
Click to expand...
Click to collapse
wpa2
when i connect to network want a password but the password is true
There isnt any listed mac address inside the router
danial199 said:
wpa2
when i connect to network want a password but the password is true
There isnt any listed mac address inside the router
Click to expand...
Click to collapse
Already explained about protected networks and the reason behind it in the first post . You need to set it to 'Open network' ( means no wpa/wpa2/wep etc,,etc) inside the router/modem you are seeking an access.
Maybe not so
I have tried several apps and every possible command in terminal (as root) and although all can successfully change the MAC address, the device is always unable to connect to an access point thereafter. This is a known issue, but unresolved and too frequently denied. I half suspect their are some "political" purposes for withholding the resolution; many have inquired about this, yet only receive pedantic or useless replies. I wonder if there is any correlation to the wifi chipset, or if it's a built-in Android limitation. I know my chipset is very difficult to identify ('demesg | grep wlan0' yields nothing familiar) and that it also seems incapable of monitor mode.
I have scoured many forums for the solution to this and found only a suggestion to change certain files, all which appear to vary between devices, etc.
What I'd like at this point, is and explanation if not a solution. Anyway, I think the OP may have been misunderstood, ergo my 'two cents'.
Hello,
I recently posted several topics about this, but now my question is more general.
I have a Samsung Galaxy A5 with Android 6.0 which doesn't support natively. I saw there's a topic with some commands to run on a Samsung Galaxy S6 with Android 5, but it relies on "netcfg" command which is now deprecated and has been removed from Android 6.
I was able to get an working internet connection inside my terminal by running these new "up to date" commands :
Code:
ifconfig eth0 [IP] netmask [netmask] up
route add default gw [gateway]
ndc resolver setnetdns eth0 8.8.8.8 8.8.4.4
But outside the terminal, e.g. in Chrome app, I have a "No internet connection" error.
I also tried to do an application which executes the commands like that :
Code:
Process su = Runtime.getRuntime().exec("su");
OutputStream o = su.getOutputStream();
o.writeBytes("any command I need to run as root\n");
o.flush();
o.writeBytes("exit\n");
o.flush();
But the app freezes just after the "su" command has been issued.
So can someone tell me where am I wrong ?
Thanks in advance.