This is a good question. It's a well worn part of the trail when learning quantum field theory. A lot of folks come across this issue at some point -- at least, I know I did. Let's first reason physically then we'll do the math.
The most important thing you need to know about virtual "particles" is that they are not detectable -- at least not if you believe special relativity which says that a free particle of four-momentum $p^\mu = (E,\mathbf{p})$ and mass $m$ satisfies a constraint: $E^2 = |\mathbf{p}|^2 + m^2$ (or $p^2=p_\mu p^\mu = m^2$), which is just the mass-shell condition. And, as you've pointed out, a virtual particle is "off mass-shell." If you were to observe a particle that didn't satisfy the mass-shell condition, you'd violate special relativity. (I haven't explained where the mass-shell condition comes from but it's Lorentz invariance.)
"Real" photons are, by definition, on mass-shell. That is, for a photon of four-momentum $q^\mu$ we have $q^2=0$ ($m$ is zero). That is, if you measure the energy of a photon and the momentum of a photon you'll always find (in appropriate units) that they're exactly equal.
One more preliminary point: virtual photons appear in processes, described for example by Feynman diagrams, as intermediate state particles. This is just a restatement of the non-observability of virtual photons (or any virtual particle). While real photons can end up in a detector, like your eye -- they correspond to particle lines that leave a Feynman diagram.
Now, in answer to your question -- these photons are quite the same, if we ignore the off mass-shell/on mass-shell distinction. Or perhaps, ahem, they aren't quite the same, exactly. (Sorry to be coy here. The fact is the question can only really be answered in the context of a particular choice of gauge. An interpretation that depends on the choice of gauge isn't "physical" since the gauge dependence of observables must be trivial.)
Pressing on, the reason for this erstwhile difference is spin. The virtual photon can have three polarization states -- it's a genuine spin-1 particle. It can support a longitudinal polarization (unlike a real photon) since $q^2\ne 0$ and this means it has an "effective" mass. The real photon can only have two independent polarization states, parallel and anti-parallel to the direction of motion. This is a consequence of a property of massless fields of spin $\ge 1$ called gauge invariance.
Now for some of the mathematical statement of the above hand-waving argument. I'm going to assume that we don't need to go into detail about the description of the free, real photon field. (It's described well in any field theory book.) So we'll focus on the virtual photon description.
In field theory virtual particles are described universally by their propagators or two-point functions. Before explaining the origin of the propagator for massless particles (I can't reproduce the lengthy argument here but see Chs.(5.9) & (8.5) of Weinberg, QTF I for a detailed derivation), let's look at the propagator for the massive spin-1 field:
\begin{align}
\Delta_{\mu\nu}(q) &= \frac{-i}{(2\pi)^4}\frac{\eta_{\mu\nu}+q_\mu q_\nu/m^2}{q^2+m^2-i\epsilon}.
\end{align}
Clearly, something goes wrong when $m\to 0$ in the second term of the numerator. In quantum electrodynamics, however, the $\lim_{m\to 0} \Delta(q)$ is well defined since the photon couples only to conserved currents, $J^\mu=\overline{\psi}\gamma^\mu\psi$, $\partial_\mu J^\mu=0$. The upshot of this is that the photon (massless vector field) propagator is:
\begin{align}
\Delta_{\mu\nu}(q) &= \frac{-i}{(2\pi)^4}\frac{\eta_{\mu\nu}}{q^2-i\epsilon}.
\end{align}
Now here's the interesting part. If you sum over all three virtual photon polarizations in calculating the propagator you get the above relation. But in order to be consistent, you'll ignore the Coulomb interaction. If one includes the Coulomb interaction, however, you'll sum over the two physical photon spin (helicity) states in the calculation of the propagator. The answer in either picture, of course, is the same. But the spin of the virtual photon is different in these two pictures, which correspond to the Coulomb gauge (where one includes the Coulomb interaction) or the Feynman gauge (where one doesn't).