I want to know the difference between astra & Shastra
and What type of astra & Shastra use in Mahabharata & Ramayana ?
Its very simple and clear to me, there are two kind of things which one can use to fight other.
Some weapons are kept in hand and some are thrown away, this is the basic way to define weapons in Puranas.
Shastra is something which is hand held, like a sword, a gada or any object which we fight with and which remains in our hand.
Astra is something which you have to throw on your enemy. Like the bow and arrow.
First of all, the etymological definition of both, according to Monier-Williams:
1) Ramayana: In the introductory notes on the English translation of the Ramayana by Desiraju Hanumanta Rao & K. M. K. Murthy:
"Sage Vishvamitra satisfied with the behaviour of Rama in obliging the orders of elders and performing the act that is assigned to him, gives many weapons to Rama, called śastra, astras. The weaponry is categorised mainly into two types. One is śastra - a handheld weapon like sword, lance or mace. The other is astra - a projectile missile invoked by reciting hymns."
Note that this chapter mentions the various astras used and the following chapter mentions the counter-astras.
In the footnotes:
"There are some verses that depict the nature of these astras. A few of them are given under. Though we may not actually acquire a projectile power with these verses, they may at least detail what these missiles are. The source of these verses is untraceable, but they are said to be in puranas..."
2) Ramayana: Quoting M. Lakshmi in his article "Mareecha in Valmiki and Adhyatma Ramayana" (2003):
"While slaying Tataki, Rama used a Sastra. Arrows may be divided as Sastras and Astras. A Sastra can only be used once. An Astra can be used again and again. If one uses the Astra, it does its work and comes back to the user. By chanting the prescribed Mantra one has to purify the Astra."
3) Bhagavata Purana: According to A. C. Bhaktivedanta Swami Prabhupāda in his English translation of the Śrīmad Bhāgavatam, astra concerns "weapons shot as arrows" and śastra concerns "other weapons".
4) Lalita-Sahasranama: According to Ravi in his commentary on the Lalitā-sahasranāma, name 79:
"She counters the weapons used by Bhandāsura, by using Her own. Here, two types of weaponaries are mentioned. One is astra that is thrown at the enemies in a battle field. Modern day bombs can be compared to this. Another is śastra, which is always held in hand, like a gun. The weaponaries of Lalitai aids our efforts in attaining bliss by destroying avidyā. Weapons coming out of Her hands are aimed at us in destroying the illusion of duality."
Finally the grammatical definition of the words in the Marathi language:
śastra (शस्त्र).—n (S) A weapon. 2 A weapon figuratively, that in which one's prevalence or power consists;--as learning, beauty, sanctity, the pen &c. Applied also to any thing considered as the masterer, match, vanquisher, antidote &c., of any other thing. śa0 tuḷaṇēṃ or tōlaṇēṃ To point or set or hold in position one's weapon: also to wave or brandish it. śa0 dharaṇēṃ with vara of o. To take up arms against.
astra (अस्त्र).—n (S) A weapon charmed by the recitation over it of some mystic formula: also the formula or mantra. Ex. of comp. agnyastra, vārūṇāstra, mēghāstra, sarpāstra, astravidyā, astraprayōga. 2 S A Weapon gen.
I do not have a pranaamam (authentic reference) but I am just repeating what I heard in a religious discourse by Sri. Karunakaracharyar.
Sastras are the arrows that are used without any mantra. In the sense that they do not have any power other than obeying physics. Astras are the divine arrows that are obtained by praying against certain gods. They may not be available in the archer's quiver but can be obtained by chanting the relevant mantra. These astras seems to defy many physical laws like:
Lord Vishnu's Chakra is considered to be the master of all weapons.