View bad blocks on mounted ext2/ext3/ext4 filesystem

Have you looked into dumpe2fs? You can use it as follows:

dumpe2fs -b /dev/$partition

E.g.

dumpe2fs -b /dev/sdd1