I used to do this frequently "back in the day"....
dd will create a complete bit-for-bit copy of the drive and put its contents into a file. All the way down to the boot sector, partitions, etc. Filesystem doesn't even matter a little.
I used to do something like "dd /dev/sda bs=1M | nc remote.server 1234" and then on the remote server "nc -l 1234 -p > file.img </dev/null". I was swapping back and forth between Linux and Windows on a work laptop that I was using for non-work related things on the weekend, at conferences, etc.
Wasn't perhaps my most intelligent moment, but it worked!